Conectar-se
Quem está conectado
24 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 24 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 26/10/2012
Número de Mensagens : 30
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

3D:como rodar a camara em horizontal?

em Ter 18 Jul 2017, 15:09
eu li o manual do Kabeção sobre 3D.. mas ainda estou confuso numa coisa: como posso rodar a camara em horizontal?
eu estou a testar a funçao d3d_set_projection(), mas só consegui a mover em vertical.
avatar
Ranking : Nota D
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Número de Mensagens : 712
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuário

Re: 3D:como rodar a camara em horizontal?

em Sab 22 Jul 2017, 23:58
Olá!

Você disse que seguiu as aulas do Kabeção, então você "virou a mesa", por assim dizer. Quando olha para cima, é no eixo z, artificial, o seu intuito é movimento ao redor de si mesmo nos eixos x e y, naturais do GM.
Para a rotação vertical você utiliza o conceito de tangente, no caso da rotação horizontal, você precisará do seno e cosseno.
Curiosamente, acabei de postar um tutorial sobre trigonometria, Clique aqui para você entender o conceito.

Agora vamos lá:
Eis os códigos originais do Kabeção:
Código:
// Definindo angulos a partir do mouse
zang-=(window_mouse_get_x()-200)/8;
yang-=(window_mouse_get_y()-200)/8;
window_mouse_set(200,200);
yang=median(yang,-89,89);

// Animação da camera

// calculando movimento dos vetores da camera
dx=cos(degtorad(zang));
dy=-sin(degtorad(zang));
dz=tan(degtorad(yang));

Na primeira parte, ele define o mouse em uma posição fixa do ecrã realizando o diferencial, fazendo com que a câmera não gire infinitamente. Depois ele define PARA ONDE A CÂMERA DEVE OLHAR, e é aí que deve estar o seu problema.

Só lembrando que essa câmera é em terceira pessoa. Se você continua tendo problemas, disponibilize a engine de seu projeto ou ao menos os códigos da câmera para tentarmos ajudar melhor.

Abraço!
avatar
Data de inscrição : 26/10/2012
Número de Mensagens : 30
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: 3D:como rodar a camara em horizontal?

em Dom 23 Jul 2017, 07:05
Reputação da mensagem: 100% (1 votos)
muito obrigado por tudo.
demorei muito, mas estou a conseguir usar a camara(o meu teste foi com teclado). por isso usei:
Código:
d3d_set_projection(x,y,z, x+cos(direction*pi/180),y-sin(direction*pi/180),rotatez, 0,0,1);
o 4º, 5º e 6º parametro são para a rotação da camara. mas no 4º e 5º usei a variavel direction do objecto da camara.
o 'rotatez' é 1 variavel que eu uso o teclado para a alterar.
eu sei que é melhor usar o rato, por isso vou alterar. muito obrigado.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum