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>
base.disableMouse()
</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.useDrive()
base.useTrackballuseDrive()
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>
base.oobe()
</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:'''===
 
 
 
'''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)
base.camera.setPosreparentTo(0,80,5seu-modelo)
base.camera.lookAtsetPos(seu-modelo0,80,5)
base.camera.reparentTolookAt(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.