Autor Wątek: kolizje kamery  (Przeczytany 947 razy)

Offline Krolik

  • Użytkownik

# Czerwiec 24, 2008, 14:30:58
Mam pewnien problem zwiazany z kolizją kamery z otoczeniem. Ogolnie na silniku potrafie sprawdzić czy zachodzi kolizja ale nie wiem jak zrobić aby kamera odpowiednio sie zachowywała aby dało się grać. Mam ustewione aby obrocona była w kierynku postaci i była za nią jakąs tam odległosć. chciałbym aby po kolizji z otoczeniem zblizała sie do postaci albo zeby jakos przeskoczyła ale nie mam pojecia jak to zrobic.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

maxest

  • Gość
# Czerwiec 24, 2008, 16:30:51
Robisz odcinek kamera-postac i szukasz punktow przeciecia ze scena. Znalezione punkty wrzucasz na jakas liste. Potem ustawiasz polozenie kamery na punkt znajdujacy sie najblizej bohatera

Offline Krolik

  • Użytkownik

# Czerwiec 24, 2008, 21:40:47
Hymm nasunal mi sie pewnien pomysł . Ewentualnie jezeli nie dam rady z jakims lepszym systemem dla kamery to ustawie ze po kolizji ustawiła się na starej pozycji, albo dam, że w danym miejscu bedzie nieruchoma tylko bedzie sie obracała w kiedynku postaci cos typu resident evil 1 tyle ze ze sledzeniem postaci  :P

Offline Zene

  • Użytkownik
    • Zenedith’s dev blog

# Czerwiec 24, 2008, 22:40:51
Tak jak napisał maxest musisz zbadać "odcinek" kamera-punkt obserwacji(odniesienia kamery). Z tym że żeby efekt był dobry, to tych "odcinków" powinno być trochę więcej, tworząc z 4 odcinków np. taki prostopadłościan lub stożek z podstawą przy kamerze. Następnie bierzesz z nich taką odległość, która nie jest kolizyjna ze sceną, ale to nie wystarczy ponieważ gdy podejdziesz tyłem na ścianę to wejdzie ci w obiekt playera - wtedy można w pewnej ustalonej odległości kamery od punktu obserwacji kamerę podnosić..Wszystkie przesunięcia pamiętasz w wektorze i gdy nie ma już przeszkód, przywracasz pozycję kamery zmniejszając wartości wektora przesunięcia. W przeciwnym przypadku będą straszne skoki przy odchodzeniu (przy podchodzeniu raczej nic nie da się zrobić chyba że użyjesz na scenie specjalnych klas obiektów (ale zwykłych meshy - face'ów) które "poinformują" kamerę, że masz ścianę niedaleko).
« Ostatnia zmiana: Czerwiec 24, 2008, 22:43:07 wysłana przez Zene »