Skocz do zawartości
uzytkownik123

lerp(dir1,dir2)

Rekomendowane odpowiedzi

mam wartości dir1 i dir2 odpowiednio dla dwóch kierunków 

i jest

dir1=lerp(dir1,dir2,0.5)

problem pojawia się kiedy przykładowo dir1= 15 stopni a dir2 300 i nie chce aby dir1 rósł do dir2 po całym okręgu tylko po najkrótszej drodze, jak to zrobic?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
if (dir2 - dir1 > 180) {
  dir2 -= 360;
}

dokumentacja nie mowi za wiele nt parametrów tego lerpa, możliwe że 3 argument musi iść w stronę dir2, także w powyższym ifie musiałbyś dodać amount = -0.5

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Hm, nie wiem czy angle_difference na pewno zwraca ujemne wartości, ale moze:

 

dir1 = dir1 + angle_difference(dir1, dir2) * 0.5 ?

  • Lubię (+1) 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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

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

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×