Skocz do zawartości

Stopniowe podążanie widoku/obiektów


Rekomendowane odpowiedzi

Przykład pokazuje jak zrobić stopniowe przemieszczanie się widoku i obiektów. Pokazuje między innymi:

- płynne przechodzenie widoku do danego punktu ze stopniowym przyspieszaniem, a potem hamowaniem. Przydatne, kiedy w grze trzeba przenieść widok z jednego miejsca do drugiego, potencjalnie odległego (np. częste przełączanie między postaciami, które mogą być rozrzucone po całej planszy).

- stopniowe dochodzenie do danego punktu/obiektu na określoną odległość. Pożyteczne, kiedy chcemy zrobić podążanie jednej postaci za drugą, a jednocześnie wolimy uniknąć zbyt bliskiego kontaktu, który mógłby wyglądać nieładnie.

- stopniowe uciekanie od danego punktu/obiektu na określoną odległość.

 

 

Przykład można znaleźć tutaj: [LINK]

 

 

 

Jakieś uwagi, propozycje, niejasności?

Odnośnik do komentarza
Udostępnij na innych stronach

Co rozumiesz przez interpolację? o_O

To znaczy, mi zazwyczaj interpolacja kojarzy się z czymś takim, że bierzemy jakieś sąsiadujące piksele i je uśredniamy do jakiegoś innego, na przykład przy pomniejszaniu grafiki. Stąd nie bardzo widzę związku...

Z kolei ten plik pokazuje na przykład jak zrobić płynne przemieszczanie się widoku, tj. kamera pokazuje nam jedno miejsce, a następnie przesuwa się do innego, najpierw powoli, potem coraz szybciej, by łagodnie wyhamować na końcu.

 

No, chyba, że mówisz o morfingu. Wówczas wybór metody przemieszczania między widokami jest kwestią uznania twórcy. Z drugiej strony, morfing wygląda trochę głupio, jak np. przełączamy pomiędzy dwiema postaciami, i akurat one są dość blisko siebie, więc wyglądałoby to trochę komicznie, jak z widoku na pozycji, dajmy na to, 300x360 morfujemy do widoku na pozycji 320x300. W tym przypadku moje rozwiązanie IMHO sprawdza się o tyle lepiej, że po prostu jest nieznaczne przemieszczenie, mające wyśrodkować na tę właściwą postać.

 

Poza tym już zupełnie nie wiem, co interpolacja miałaby do rzeczy w przypadku stopniowego zbliżania się obiektów.

 

No, chyba, że źle zrozumiałam. Ale interpolacja to pojęcie naprawdę mało konkretne w tej sytuacji.

Odnośnik do komentarza
Udostępnij na innych stronach

mowie o liniowej interpolacji

 

kamera.X = lerp(kamera.X, zadanaPozycja.X, 0.1);

 

co klatke kamera bedzie sie przyblizac o 10% do danej pozycji

w pierwszym wywolaniu bedzie to dystans najwiekszy przy kolejnych coraz mniejszy wiec da efekt plynnego hamowania, dodatkowo jest to jak widac jedna linijka

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