Skocz do zawartości

Kamera za graczem-problem


miki100

Rekomendowane odpowiedzi

Witam! Mam mały problem: nie wiem jak zrobić aby kamera [w 3d] podążała za graczem. Próbowałem:

direction = point_direction(x,y,obj_hero.x + lengthdir_x(-distance_to_object(obj_hero),obj_hero.direction),obj_hero.y + lengthdir_y(-distance_to_object(obj_hero),obj_hero.direction));
speed = point_distance(x,y,obj_hero.x + lengthdir_x(-distance_to_object(obj_hero),obj_hero.direction),obj_hero.y + lengthdir_y(-distance_to_object(obj_hero),obj_hero.direction))/8;

I działało, ale nie mogłem ruszać kamerą... <_<

Mój d3d_set_projection:

d3d_set_projection(x,y,20, x+cos(direction*pi/180),y-sin(direction*pi/180),20, 0,0,1);

I proszę nie sugerować się tym że to jest mój pierwszy post - nie oznacza to że nie mam doświadczenia z GM. :huh:

Mam nadzieję, że znajdziecie rozwiązanie... :rolleyes:

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

player:

GML (Create)
z=20 // pozycja Z

alpha=0 // kąt poziomy

beta=0 // kąt pionowy

length=128 // odległość kamery od gracza

GML (Draw)
d3d_set_projection(x+lengthdir_x(length,alpha),y+lengthdir_y(length,alpha),z+length*cos(degtorad(beta)), x,y,z, 0,0,1);

 

Kąt alpha możesz co step ustawiać na direction+180, przez co kamera będzie zza pleców gracza. Kąt beta służy do pionowej zmiany kąta nachylenia kamery.

Odnośnik do komentarza
Udostępnij na innych stronach

length to odleglosc kamery od gracza (w pixelach)

Odnośnik do komentarza
Udostępnij na innych stronach

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ę...