Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Mam problem chce zrobić obrót kamery według osi Z tylko że w 360 stopni a nie 180. Bo mi właśnie wychodzi tylko w 180.

 

Robiąc to samo z osiami X i Y w ten sposób:

 

w obiekcie "camera"

 
xf=orocket.x+cos((orocket.direction+180)*pi/180)*128;
yf=orocket.y-sin((orocket.direction+180)*pi/180)*128;

objaśnienie nazw:

- orocket (obiekt rocket) to nazwa gracza czyli obiektu na który kamera patrzy.

- xf yf to nazwy zmiennych xfrom i yfrom kamery

- *128 to odległość patrzenia na "orocket".

 

Widok porusza się wokoło gracza na lewo i prawo (zmienna direction) w zakresie 360 stopni a pisząc podobne kawałki kodu na oś Z ze zmienna "zdir" , udało mi się conajwyżej 180 stopni uzyskać.

 

Oto to co już próbowałem :

zf=orocket.z-cos((orocket.zdir)*pi/180);
zf=orocket.z+cos((orocket.zdir)*pi/180);
zf=orocket.z-sin((orocket.zdir)*pi/180);
zf=orocket.z+sin((orocket.zdir)*pi/180);
zf=orocket.z-tan((orocket.zdir)*pi/180);
zf=orocket.z+tan((orocket.zdir)*pi/180);

zf=orocket.z-cos((orocket.zdir)*pi/360);
zf=orocket.z+cos((orocket.zdir)*pi/360);
zf=orocket.z-sin((orocket.zdir)*pi/360);
zf=orocket.z+sin((orocket.zdir)*pi/360);
zf=orocket.z-tan((orocket.zdir)*pi/360);
zf=orocket.z+tan((orocket.zdir)*pi/360);

 

więcej nie pamiętam.

Pomóżcie !!!111oneoneone

Opublikowano

Hmm jezeli dobrze zrozumialem to przyda ci sie kawalek z jakiejs mojej starej gry:

x+cos(degtorad(direction))*(cos(degtorad(zdir))*20)
y-sin(degtorad(direction))*(cos(degtorad(zdir))*20)
z-sin(degtorad(zdir))*20

direction - kat poziomy

zdir - kat pionowy

20 - odleglosc od puntu x y z

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...