Skocz do zawartości

GmOgre3d NPC chodzacy po modelu?


Ryuq

Rekomendowane odpowiedzi

Witam.

wie ktoś może jak w latwy sposób zrobic postac npc chodzaca PO MESHU?

Robilem chodzenie za pomoca dokumentów z https://code.google.com/p/gmogre3d/ no ale moja postać "na luzie" latała przez model od punktu do punktu...

 

Oto kod tego NPC'a:

Create:

GML
// STWORZ //

ent_id = CreateEntity ("Robot.mesh");

//---- STWORZ ----//

node_id = CreateRootChildSceneNode ();

AttachEntityToSceneNode (ent_id, node_id);

 

 

// WYMIARY POSTACI

SetSceneNodeScale(node_id, 0.03, 0.03, 0.03);

//--- WYMIARY POSTACI --//

// Set robot idle animation

anim_state_id = GetEntityAnimationState(ent_id, "Walk");

EnableAnimationStateLoop(anim_state_id, true);

EnableAnimationState(anim_state_id, true);

last_time = current_time;

 

// ANIM STOP

total_time = 0.0;

 

last_posx = 0;

last_posy = 150;

last_posz = 0;

GML
Step:

GMLRenderFrame ();

 

AddAnimationStateTime(anim_state_id, (current_time - last_time) / 1000);

last_time = current_time;

chcę żeby chodził on przez PathNode'y [czyli te punkciki dla jego ścieżki] i tyle. I żeby nie przelatywał przy tym przez ściany. Jest jakiś może gotowy przykład czegoś takiego, lub ktoś może mi pomóc ? Korzystałem z tego "tutoriala" : http://code.google.com/p/gmogre3d/wiki/AdvancedTutorial1 no ale postać na mojej mapie latała sobie elegancko od jednego pathnode'a do drugiego, ignorujac ściany, i wybierajac sobie pierwszy lepszy taki punkcik, albo dostawała głupawki i zawieszała sie latajac od X do Y i tak w kółko.

 

 

Chcę zrobić taka prosta baze dla NPC ktora bedzie lazila od punktu, do punktu, starajac sie nie powtarzac ich. Tylko nie wiem jak sie za to zabrac w 3D. TopDown to by to lekko poszlo, ale tutaj to troche słabiej ogarnac to idzie...

Odnośnik do komentarza
Udostępnij na innych stronach

Ależ w gmogre takie coś robi się tak samo jak w top down ;) tylko dochodzi oś z ale to jest wysokość na jakiej jest entity, a to należałoby automatycznie dopasowywać, w gmogru chyba tylko fizyka była do tego. Była jakaś funkcja w gmOgru która aktualizowała entity według x i y instancji obiektu, więc możesz spróbować zrobić to top downowo.

Żeby rozwiązać problem musiałbyś w miarę dokładnie wykrywać gdzie jest ściana ( x,y ) i nie tworzyć punktów do chodzenia tak żeby przez nią przechodziły.

A żeby omijać i dojść do punktu to trzeba by już szukanie drogi dać, ale takie jak w 2D wystarczyłoby.

Robiłem kiedyś ten tutek co przeslales i widzę oraz pamiętam że nie było tam ścian i omijania ich ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Dobra, a kto mi powie jak mogę postawić MOJA postac na terenie? Probowalem wszystkiego.

Na modelu moja zbindowana z GMNewtonem postać bez problemu stała, a na głupim terenie z heightmapy nie chce, pojawia się pod nim.

GetTerrainHeight i innych tego typu rzeczy próbowałem, doslownie wszystkiego ale nie moge trafić. W dokumentacji jest jedynie "Now run your game. It's that easy. You might want to set the Camera to start in a place that's over the terrain if it bothers you that its initial position is under the terrain. "

Ale to mi zbyt wiele nie mowi o tym JAK to zrobić. Niby takie proste ale nie czaje. Pomoże ktoś?

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