![]() |
|
![]() ![]() ![]() |
|
1.4 Perspectiva em Terceira Pessoa
Proposta: Mostrar como ativar a perspectiva em terceira pessoa Rem Configura o sync Sync On Sync Rate 30 Rem Construir cubos e colocá-los de forma aleatória For x = 1 to 5 Make object cube x,100 Position object x,Rnd(2000),0,Rnd(2000) Next x Rem Construir uma esfera Make object sphere 10,50 Rem Loop Principal Do Rem Armazena o ângulo Y do Objeto em aY# aY# = Object angle Y(10) Rem Controla as entradas para a câmera If Upkey()=1 then Move object 10,10 If Leftkey()=1 then Yrotate object 10,Wrapvalue(aY#-5) If Rightkey()=1 then Yrotate object 10,Wrapvalue(aY#+5) Rem Obtém a posição do jogador e armazena nas coordenadas X# e Z# X# = Object position x(10) Z# = Object position z(10) Rem Obtém uma nova posição de câmera e armazena nas coordenadas cZ# e cX# cZ# = Newzvalue(Z#,aY#-180,100) cX# = Newxvalue(X#,aY#-180,100) Rem Posição da Câmera Position Camera cX#,100,cZ# Rem Aponta a Câmera para um jogador Point camera X#,50,Z# Rem Atualiza a tela Sync Loop Este tutorial irá introduzir a perspectiva em terceira pessoa. A perspectiva em terceira pessoa aponta para a visão que pode ser descrita como uma câmera atrás e um pouco acima do jogador. A maioria do código neste tutorial foi explicado em tutoriais anteriores. Nós iremos nos concentrar no código e nos comandos que são novos. X# = Object position x(10) Z# = Object position z(10) Os comandos "Object Position X" e "Object Position Z" são parecidos com os comandos "Object Angle" exceto que estes comandos retornam a posição do objeto no espaço através de coordenadas, enquanto o último, retorna o valor de rotação. Nos parênteses deste comando você insere o número do objeto do qual você quer saber as coordenadas. Nós iremos armazenar estes valores nas variáveis X# e Z#. cZ# = Newzvalue(Z#,aY#-180,100) cX# = Newxvalue(X#,aY#-180,100) Os comandos "NewZValue" e "NewXValue" economizam você ter que utilizar algumas das mais difíceis funções matemáticas como seno e coseno. Estes comandos calculam uma nova posição baseada em uma outra posição. Nós estamos utilizando eles para calcular uma posição no espaço de 100 unidades para trás do jogador. O primeiro parâmetro é a coordenada atual do jogador. Lembre-se que nós armazenamos a posição do objeto nas variáveis X# e Z#. O segundo parâmetro é o ângulo de direção onde nós queremos a nova coordenada. Nós pegamos o ângulo Y do objeto, armazenamos na variável aY# e subtraímos 180 graus deste valor. Este ângulo é apontado diretamente ao objeto. O terceiro valor é o número de unidade de espaço do objeto que nós queremos as coordenadas. O que nós fizemos é encontrar a posição de 100 unidades diretamente atrás do nosso jogador e armazenar as coordenadas nas variáveis nas variáveis representando a posição da nossa câmera, cZ# e cX#. Position camera cX#,100,cZ# O comando "Position Camera" funciona como o comando "Position Object" exceto que nós não precisamos especificar um número de objeto, somente os valores das coordenadas. Nós estamos utilizando os mais novos valores X e Z calculados e 100 para o nosso valor Y. Quando a coordenada Y do jogador é 0 e seu raio é 50, configurando a coordenada Y de nossa câmera para 100, você coloca a câmera sobre o jogador. Point camera X#,50,Z# Nossa câmera está apontada sobre nosso objeto. Nós iremos utilizar o comando "Point Camera" para apontar a câmera para o objeto. Os parâmetros para este comando são as coordenadas X,Y e Z onde você deseja apontar a câmera. Nós iremos utilizar as variáveis X# e Z# que guardam os valores X e Z da posição do jogador. Para o nosso valor Y nós iremos utilizar o valor 50. A câmera deve agora ser apontada no centro do nosso jogador. Experimente modificar o número de vezes que o loop se repete para criar mais cubos. Lembre-se de modificar o número do jogador para um valor maior ou você irá receber uma mensagem de erro escrito "Object already exists" (Objeto já existente). Tente modificar o valor de 180 para algum valor menor que 360 nos comandos "NewXValue" e "NewYValue", para ver como isto modifica a posição da câmera. Modifique o último número nestes comandos para mover a câmera para mais longe ou mais perto do objeto ou jogador. Tente modificar o valor 50 no comando "Point Camera" para modificar a altura que a câmera aponta para o objeto ou jogador. |
|
Esta é a barra de navegação para explorar todos os tutoriais da série "A Caça Aos Monstros" |
| 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 2.1 | 2.2 | 2.3 | 2.4 | 2.5 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 3.10 | 3.11 | 3.12 | 3.13 | 3.14 |
| Copyright © 2003 Dark Basic Software Limited. | ||
| Virtual Object Informática Ltda.® |
![]() |
![]() |