Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Mind

Treue Seele

  • »Mind« ist der Autor dieses Themas
  • Private Nachricht senden

1

27.04.2005, 11:02

ode terrain collision

Hallo,

mal eine verständnis Frage.

Also ich möchte gerne ODE für meine Kollision verwenden.
Jetzt stellt sich folgende Frage bzw Problem.

Mein Terrain ist in Patches auftgeilt und die Vertices werden nur dann in den Patch gefüllt wenn der Patch auch sichtbar ist. Das heißt ich hab erstmal nicht alle Information vom ganzen Terrain. Wie kann ich dann mein Terrain in die Kollisionserkennung mit reinbauen.

Selbst wenn ich mir die Daten vom gesamten Terrain merken würde und ein Trimesh geom erzeugen würde, könnte ich mir vorstellen, das die Performance bei einem rießigen Terrain und vielen Objekten ( Personen, Fahrzeuge, etc ) sehr stark nachlassen würde.

Anonymous

unregistriert

2

30.04.2005, 15:51

Du solltest z.B. von SimpleSpace zurückweichen und lieber QuadTreeSpace o.ä. verwenden.

Mind

Treue Seele

  • »Mind« ist der Autor dieses Themas
  • Private Nachricht senden

3

02.05.2005, 09:35

ok das heißt man sollte so vorgehen das man die gesamten daten vom terrain ode geben soll.

gibts schon jemand der erfahrungen mit quadtreespace gemacht hat?

DarioFrodo

Treue Seele

Beiträge: 349

Wohnort: Kerkau, 100km nördlich von Magdeburg

Beruf: Selbstständig

  • Private Nachricht senden

4

20.04.2006, 19:21

Bei ODE kannst du doch auch eigene Kollisionsrotinen einbauen. Wenn du ein Terrain erstellt hast, so wie es David beschrieben hat, hast du doch ebstimmt eine Callbackfunktion, die dir zu jeder x,z Position die y Koordinate, also die höhe liefert, oder? Dann brauchst du nur noch jedes Objekt durchgehen und schauen/prüfen, ob die jeweilige y-Koordinate höher, niedriger oder gleich ist mit der Höhe des Terrains an dieser Stelle. Dazu mal folgender Pseudo-Code:

C-/C++-Quelltext

1
2
3
4
5
6
7
    for(int i = 0; i < NUMOBJEKTE; i++)
    {
       if(g_pObjekt[i].GetPos().y < pTerrain.GetHight(g_pObjekt[i].GetPos().x,
          g_pObjekt[i].GetPos().z))
             //Kollision mit dem Boden

     
    }


Dann hast du die Position und die Tiefe der Collision und kannst aus diesen Werten den Contakt-Joint in ODE erstellen. Den Normal-Vector für ODE... tJa, das musst du selbst rausfinden, da habe ich keine Idee.
Erst wenn der letzte Fluss vergiftet,
der letzte Baum gefällt,
der letzte Fisch gefangen,
dann werdet ihr merken, dass man Geld nicht essen kann

Man verkauft die Erde nicht, auf der die Menschen wandeln.

- Indianerweisheiten

Ich bin auch ein einhornimmond ;)

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

5

20.04.2006, 20:54

Zitat

Verfasst am: 2. Mai 2005, 9:35

das dürfte sich erledigt haben ;)

DarioFrodo

Treue Seele

Beiträge: 349

Wohnort: Kerkau, 100km nördlich von Magdeburg

Beruf: Selbstständig

  • Private Nachricht senden

6

21.04.2006, 08:21

Vielleicht auch nicht, kann man ja nicht wissen, oder?
Erst wenn der letzte Fluss vergiftet,
der letzte Baum gefällt,
der letzte Fisch gefangen,
dann werdet ihr merken, dass man Geld nicht essen kann

Man verkauft die Erde nicht, auf der die Menschen wandeln.

- Indianerweisheiten

Ich bin auch ein einhornimmond ;)

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

7

21.04.2006, 08:25

ich glaub dann hätt er schon was gesagt ;)

Mind

Treue Seele

  • »Mind« ist der Autor dieses Themas
  • Private Nachricht senden

8

21.04.2006, 11:17

oh sorry gar nicht gesehen das hier noch jemand was geschrieben hat.
also bin auf tokamak umgestiegen hab alle daten gesammelt und ode gegeben und scheiß ode ging net hab ewig rumpropiert hat nichts geholfen. mit tokamak gings auf anhieb auch perfromance war ok mit rießigen terrain und vielzahl von kisten die runterfallen.
das einzigste problem ist tokamak ist nicht opensource und der author arbeitet nicht mehr daran so wie es aussieht tja das ist natürlich dumm...
momentan komm ich aber auch nicht dazu weiter zu arbeiten von daher.

trotzdem danke für die antworten.

DarioFrodo

Treue Seele

Beiträge: 349

Wohnort: Kerkau, 100km nördlich von Magdeburg

Beruf: Selbstständig

  • Private Nachricht senden

9

21.04.2006, 11:22

Hey, willkommen im Club, ich probiere auch schon ewig mit ODE rum. Und bekomme es auch nicht realistisch zum laufen.
Erst wenn der letzte Fluss vergiftet,
der letzte Baum gefällt,
der letzte Fisch gefangen,
dann werdet ihr merken, dass man Geld nicht essen kann

Man verkauft die Erde nicht, auf der die Menschen wandeln.

- Indianerweisheiten

Ich bin auch ein einhornimmond ;)

Mind

Treue Seele

  • »Mind« ist der Autor dieses Themas
  • Private Nachricht senden

10

21.04.2006, 12:07

also wenn tokamak opensource wäre würde ich dich sofort darauf verweisen. ist sehr einfacher api hat auch viele möglichkeiten und ist relativ schnell. nur son tipp mit tokamak konnte ich mit sehr wenig aufwand picking implementieren. das schlüsselwort heißt neSensor.

Werbeanzeige