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: 3194 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Sanjin_JMF
Mostar

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



Profil

icon OpenGL karakter se greskom okrene za 180 stepeni14.06.2008. u 18:19 - pre 194 meseci
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();

 
Odgovor na temu

glorius
Damir Nikolic
C++ developer
SR

Član broj: 4366
Poruke: 428
93.86.53.*

ICQ: 208550327


+14 Profil

icon Re: OpenGL karakter se greskom okrene za 180 stepeni15.06.2008. u 18:46 - pre 194 meseci
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
 
Odgovor na temu

Sanjin_JMF
Mostar

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



Profil

icon Re: OpenGL karakter se greskom okrene za 180 stepeni17.06.2008. u 09:05 - pre 194 meseci
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
 
Odgovor na temu

glorius
Damir Nikolic
C++ developer
SR

Član broj: 4366
Poruke: 428
212.200.238.*

ICQ: 208550327


+14 Profil

icon Re: OpenGL karakter se greskom okrene za 180 stepeni17.06.2008. u 09:19 - pre 194 meseci
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
 
Odgovor na temu

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

[ Pregleda: 3194 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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