Jump to content

Bem vindo à Unidev
Registre para ter acesso a todos os recursos do site. Uma vez registrado e logado, você poderá criar tópicos, postar em tópicos já existentes, gerenciar seu perfil e muito mais. Se você já tem uma conta, faça login aqui - ou então crie aqui uma conta agora mesmo!
- - - - -
Photo

Tutoriais 3D: Os Comandos Básicos


Tutoriais 3D: Os Comandos Básicos[/color][/size]


Traduzido
por
Willian Polis

3. Movimento de câmera[/color]


Propósito: mostrar como modificar a posição e rotação da
câmera utilizando os comandos de teclado.


Rem Setup sync
Sync On
Sync Rate 30

Rem Create 5 cubes and place randomly
For x=1 to 5
Make object cube x,100
Position object x,Rnd(2000),0,Rnd(2000)
Next x

Rem Main loop

Do

Rem Store camera angle

caY#= Camera angle Y()

Rem Control input for camera movement
If Upkey()=1 then Move camera 10
If Leftkey()=1 then Yrotate Camera Wrapvalue(caY#-5)
If Rightkey()=1 then Yrotate Camera Wrapvalue(caY#+5)

Rem Refresh Screen
Sync
Loop






Nós iremos começar introduzindo a idéia do comando de loop
(repetição) "For Next".


For x=1 to 5
Make object cube x,100
Position object x,Rnd(2000),0,Rnd(2000)
Next x






O comando de loop "For Next" é utilizado para rodar ou repetir
um bloco de comandos por um número determinado de vezes. Nós
utilizamos o nome da variável como sendo "x" neste comando loop para
armazenar o número de vezes que este comando foi executado para
quando o número de vezes que você especificou for igual ao número de
vezes que o comando já foi executado, ele seja parado. No comando de
loop "For Next" você sempre utiliza a palavra "To" para especificar
o número de vezes que você deseha executar o loop. Neste caso nós
executamos o loop de 1 "To" (até) 5 vezes. Nós colocamos os comandos
que nós desejamos executar no corpo do loop. Nós utilizamos a
instrução "Next" e uma unidade foi adicionada à variável "x" para
significar o fim do loop. (Além de incrementar uma unidade para a
variável "x"). Dentro da estrutura de loop nós criamos nosso objetos
do tipo cubo, dando à ele um número de objeto com o mesmo valor da
variável utilizada no loop. Agora nós iremos utilizar o comando
"Position Object" para posicionar objetos nas coordenadas 3D em
nosso cenário. O primeiro número no comando "Position Object" é o
número do objeto que nós desejamos posicionar. Nós colocamos este
número com a variável "x". Os 3 (três) valores depois do número do
objeto são as coordenadas de espaço X(Largura), Y(Altura), e Z(Produndidade), onde nós queremos posicionar o objeto. No lugar das
coordenas X e Z nós colocamos o comando "Rnd". O comando
"Rnd" é
utilizado para criar um número aleatório entre 0 (zero) e o número
que você colocou entre parênteses. Cada vez que você executa o
comando "Position Object", o novo objeto será posicionado na
coordenada X e Z aleatória e uma coordenada Y igual a 0 (zero).


If Upkey()=1 then Move camera 10





Nosso próximo novo comando é o comando "Move Camera". Este
comando é similar ao comando "Move Object", exceto que você não
precisa especificar um número de objeto. O número depois do comando
é o número de unidades que você deseja mover a câmera quando a tecla
"seta para cima" for pressionada em cada repetição do loop
principal.


If Leftkey()=1 then Yrotate Camera Wrapvalue(caY#-5)
If Rightkey()=1 then Yrotate Camera Wrapvalue(caY#+5)






O comando "YRotate Camera" é o mesmo que o comando "YRotate
Object", exceto que este comando rotaciona a câmera em torno do eixo
Y da câmera. Você deve agora ter um conhecimento de como mover e
posicionar a câmera. Tente estas modificações para o programa
original para ganhar um entendimento destes comando que serão
utilizados mais adiante. Tente modificar o valor do comando "Rnd"
para ver como a posição dos objetos modificam-se em relação ao
outro.



Tente modificar os valores nos comandos "Move Camera" e "Yrotate
Camera" para ver a velocidade, lento ou rápido, você pode mover e
rotacionar a câmera.



Este artigo faz parte dos artigos arquivados da Unidev, por tanto pode estar desatualizado.



0 Comments