Srodne teme
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

OpenGL karakter se greskom okrene za 180 stepeni

[es] :: 3D programiranje :: OpenGL karakter se greskom okrene za 180 stepeni

[ Pregleda: 538 | Odgovora: 3 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Sanjin_JMF
Mostar

Član broj: 130048
Poruke: 4
*.neudeggergasse.sth.ac.at.



Profil

icon OpenGL karakter se greskom okrene za 180 stepeni14.06.2008. u 18:19
u levelu sve radi kako treba ali kad se mousom rotira karakter, nekon 180 stepeni, on se sam okrene za 180 stepeni i vidim mu prednju stranu.

karakter gleda naprijed i ako rotiram u desno, nakon 180 stepeni on je okrenut prema kameri. neocekivano i momentalno se okrene nakon 180 stepeni

Code:


glPushMatrix();
        glTranslatef(rhCam.mView.x,0.0f,rhCam.mView.z);
        rotateCharacter=(-(atan(((rhCam.mPos.x-rhCam.mView.x)/(rhCam.mPos.z-rhCam.mView.z))))/PI*180);
        glRotatef( -rotateCharacter, 0.0f, 1.0f, 0.0f);
        rhGame.rhPlayer.DrawCharacter();//iscrtavanje karaktera
    glPopMatrix();

14.06.2008. u 18:19 

glorius
Damir Nikolic
Developer, Seavus D.O.O.
YU

Član broj: 4366
Poruke: 251
93.86.53.*



Profil

icon Re: OpenGL karakter se greskom okrene za 180 stepeni15.06.2008. u 18:46
Da, to je u prirodi atan funkcije...

0 < alfa < 180

Ne mogu da se setim bas ( odavno to bese ) ali, mislim da sam problem resio koriscenjem funkcije atan2() umesto atan() zato sto atan2() funkcija vodi racuna u kojem kvadrantu je rezultat.


[Ovu poruku je menjao glorius dana 15.06.2008. u 20:10 GMT+1]
EOF
15.06.2008. u 18:46 

Sanjin_JMF
Mostar

Član broj: 130048
Poruke: 4
*.11.15.vie.surfer.at.



Profil

icon Re: OpenGL karakter se greskom okrene za 180 stepeni17.06.2008. u 09:05
funkcija atan2 trazi dva parametra ,a ja ne znam koje tacno, nigdje neko konkretno objasnjenje nisam nasao

ako neko nade link ili dio koda , HVALA
17.06.2008. u 09:05 

glorius
Damir Nikolic
Developer, Seavus D.O.O.
YU

Član broj: 4366
Poruke: 251
212.200.238.*



Profil

icon Re: OpenGL karakter se greskom okrene za 180 stepeni17.06.2008. u 09:19
Prihvata parametre x i z jedinicnog vektora koji se dobija kao razlika vektora pozicije karaktera i kamere.

vector3 vec = charPos - camPos;
vector3 normalizedVec = normalize(vec); // dobijamo jedinicni vektor pravca

float angle = atan2( normalizedVec.x, normalizedVec.z );


EOF
17.06.2008. u 09:19 

[es] :: 3D programiranje :: OpenGL karakter se greskom okrene za 180 stepeni

[ Pregleda: 538 | Odgovora: 3 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.