Panda3D/Manual/A câmera padrão: diferenças entre revisões
[edição não verificada] | [edição não verificada] |
Conteúdo apagado Conteúdo adicionado
Sem resumo de edição |
Sem resumo de edição |
||
Linha 3:
Se você quiser mover a camera diretamente, você precisa primeiro desabilitar a tarefa de controle da camera, e só então, a camera irá funcionar como você espera
<pre>
</pre>
A classe ShowBase contem alguns metodos para permitir que o usuário controle a camera. O comando useDrive() permite que o mouse e o teclado controlem a camera. Ambos os sistemas de controle só movimentam-se nos eixos x e y, então, mover para cima ou para baixo no eixo Z é impossível com esse sistema.
Linha 11 ⟶ 13:
O sistema do mouse responde assim que qualquer botão é pressionado. Se a seta do mouse está no topo da tela, a camera se move para frente. Se a seta do mouse estiver na parte inferior da tela, a camera se move para trás. Se a seta estiver em qualquer lado na horizontal, a camera rotaciona nessa direção. A velocidade que a camera se move é determinada por quão longe do centro o cursor do mouse está. Existe tambem outro comando que permite controles baseados na rodinha central do mouse.
<pre>
base.useTrackball()
</pre>
ShowBase também providencia o metodo oobe(), que lhe da controle do node basico da camera( base.cam ), com o mouse/rodinha enquanto o codigo continua a mover o node da camera ( base.camera ). Isso pode ser útil para propositos de debug. A palavra oobe significa "out-of-body-experience" ou "experiencia fora do corpo" e é util para lhe dar uma visão aérea da sua aplicação á qualquer momento do desenvolvimento. Chame o metodo uma vez para ligar o modo OOBE, e chame novamente para desligá-lo.
<pre>
</pre>
oobeCull() é uma variante de oobe(), e trabalha de maneira similar, exceto que ele ainda dá cull na cena, como se a camera ainda estivesse na posição original, enquanto desenha a cena do ponto de vista da nova posição de sua camera. Então você pode agora ver a cena da sua "experiencia extra-corpórea" e andar, e você verá coisas aparecerem e desapererem do seu campo de visão enquanto voce se move pelo mundo.
▲'''Notas:'''
A câmera padrão fica sempre posicionada em 0,0,0 e você pode facilmente fazer por exemplo com que sua câmera siga o personagem de seu jogo criando uma visão de terceira pessoa.
Linha 29 ⟶ 32:
Aqui está um simples exemplo:
<pre>
base.camera.reparentTo(seu-modelo)▼
</pre>
Veja que este processo faz o parenteamento entre câmera e seu personagem, para retirar o parenteamento você deve parentear a câmera para '''render''' novamente.
|