Autor Wątek: Kolizje i grawitacja w Irrlicht  (Przeczytany 1057 razy)

Offline wudek

  • Użytkownik

# Czerwiec 18, 2007, 15:16:47
Stworzyłem kod, który odpowiada za detekcję kolizji oraz za grawitację. Niestety po paru sekundach gry mapa znika. Oto kod:
ITriangleSelector selektor = oknoGry.SceneManager.CreateOctTreeTriangleSelector(poziomGry.GetMesh(0), wezelPoziomuGry, 128);
 ISceneNodeAnimator detektorKolizjiKamery = oknoGry.SceneManager.CreateCollisionResponseAnimator(selektor, wezelKamery, new Vector3D(30, 40, 30), new Vector3D(0, -1.5f, 0), new Vector3D(0, 15, 0), 0);
wezelKamery.AddAnimator(detektorKolizjiKamery);
« Ostatnia zmiana: Czerwiec 18, 2007, 15:18:44 wysłana przez Queight »

Offline Mr. Spam

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

Offline Wyszo

  • Użytkownik

# Czerwiec 18, 2007, 15:27:44
czyli nie wykrywa kolizji? przechodzisz przez podłogę, tak?

zmniejsz sferę dookoła kamery (i - do testów - usuń 2 ostatnie parametry funkcji CreateCollisionResponseAnimator) lub/i zmniejsz grawitację

Offline wudek

  • Użytkownik

# Czerwiec 18, 2007, 18:48:20
Niestety żadne z tych rozwiązań nie pomogło :'( Wciąż przenika przez podłogę.

Offline Wyszo

  • Użytkownik

# Czerwiec 18, 2007, 19:29:43
No to ustaw tą kamerę hardcore'owo wysoko, poczekaj aż spadnie (ustaw dość małą grawitację, żeby spadała w miarę powoli, a nie jak kamień - wtedy na pewno system kolizji ją wyłapie). Jeżeli nie przeleci przez podłogę, to znaczy, że miałeś ustawione zdecydowanie za duże wymiary sfery kolizji. Jeśli przeleci, to znaczy, że problem tkwi w innym miejscu.

Offline wudek

  • Użytkownik

# Czerwiec 18, 2007, 19:40:43
Problem tkwi chyba w innym miejscu, bo to też nic nie zmienia :(