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

UINT

Frischling

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

1

16.07.2011, 19:06

Benachbarte Vertices

Moin,

ich arbeite immer noch an einer KI (nähere Informationen: Waypointgraph/Navigationmesh erstellen)
Wie ich nun den Algorythmus anwende, mit dem Modell verbinde, etc. weiß ich nun, doch gibt es eine Möglichkeit, herauszufinden, welche Vertices "verbunden" sind?
Um zu erklären, was ich mit "verbunden" meine: In Darstellungen von Modellen (z. B. in AC3D, etc.) sind Vertices immer mit Linien verbunden.
Bsp.: http://www.tutorials3d.com/imagestut/tut…ip_image009.jpg
http://autodesk.com/us/maya/2011help/ima…2_wireframe.png

Im Moment überprüfe ich alle Vertices, was bei ein paar tausend Vertices ziemlich lange dauert und die Bildrate auf meinem PC (Intel Core 2 Quad Q6600 [4x2.40GHz], 2GB RAM, GeForce FTS 450; Win7 32bit) auf 2 fps senkt.
Wenn ich nun nur die umliegenden Vertices überprüfen würde, würde dies die Berechnungszeit stark verkürzen.

Falls ihr noch was wissen wollt, einfach fragen ;)

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

16.07.2011, 19:10

Naja durch die Indices und den "Verbindungsmodus" kannst du doch recht schnell die nächsten Nachbarn finden. Wieso musst du diese Suche eig einmal pro Frame durchführen?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

UINT

Frischling

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

3

16.07.2011, 19:15

Muss ich nicht. Ich mach das immer, wenn sich die Spielerposition ändert. (Die KI soll zum Spieler laufen.)
Was meinst du mit "Verbindungsmodus"?
Und was sind die Indices?
Das ist mein erstes Spiel und ich hab von KI-Programmierung mittlerweile begrenzt Ahnung und kenne bei 3D-Modellen nur die Vertices.
Danke für die schnelle Antwort;)

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

16.07.2011, 19:36

Warum hast du nur die Vertizes und nicht die Indizes? Mit "Verbindungsmodus" meine ich den Zeichenmodus, der für die Indizes genutzt wird. Es gibt Dots,Linelist,Linestrip,Trianglelist,Trianglestrip und sicher noch andere, die ich vergessen habe.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

UINT

Frischling

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

5

16.07.2011, 19:49

Die Indices kann ich schnell bekommen, aber was bewirken die? Soweit ich weiß, ist ein Index eine Zahl, um einen Vertex zu kennzeichnen. Dadurch kann ich nun die Vertices rechts und links daneben bekommen.

A--B---C--D---E
| X | X | X | X |
F--G---H--I----J
| X | X | X | X |
K--L---M--N---O

Wenn ich mich nun an Punkt G befinde, bekomme ich durch die Indices demnach die Punkte F und H. Punkt G ist aber auch noch mit A, B, C, K, L, M verbunden. Wie kann ich nun die Koordinaten dieser erhalten? Das Zeichnen übernimmt für mich doch die Irrlicht-Engine, wodurch ich auf den Zeichenmodus keinen Zugriff habe, oder?

Werbeanzeige