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

1

29.10.2013, 18:59

Terrain Edit Algorithmus (Mesh editieren)

Hallo,
ich möchte in meinem Spiel Meshes bearbeiten, indem ich z.B. Löcher oder Vertiefungen rein machen kann. Es soll so eine Art Bildhauung sein, dass ich aus einem Würfel eine Figur machen kann. Aber wie mache ich das am besten? Beim verändern der Meshes soll die Anzahl der Dreiecke auch gering gehalten werden, dass also keine unnötigen Dreiecke vorhanden sind.
Könnt ihr mir Tipps geben, oder Algorithmen nennen?

MfG
MazzMan
Hi

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

29.10.2013, 19:03

Da du im Betreff den Begriff "Terrain" nennst - ich hoffe, dir ist klar, dass Terrains normalerweise mit Height-Maps realisiert werden. Das heißt, dass Höhlen oder Tunnel nicht modellierbar sind. Wofür brauchst du das nun? Für Terrain oder für Modelle?

3

29.10.2013, 19:04

Modelle. Also "Tunnel" sollen auch möglich sein.
Hi

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

29.10.2013, 19:08

Also willst du sowas wie ZBrush selber machen?
Vielleicht wäre ein voxelbasierter Ansatz nicht verkehrt. Später kannst du das z.B. mittels Marching Cubes in ein Dreiecksnetz verwandeln und dieses dann noch optimieren.

5

29.10.2013, 19:12

Ich hab mir mal kurz ZBrush angeschaut. Ich denke so in etwa soll es werden. Es wird aber kein Werkzeug sondern ein Spiel. Außerdem sollen die "ausgemeißelten" Löcher unregelmäßig und teilweise eckig werden. Ich möchte eben ein Mesh bearbeiten können, Voxel soll es nicht geben.
Hi

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »MazzMan« (29.10.2013, 19:22)


David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

29.10.2013, 19:21

Wie gesagt, volumenbasiert geht das wohl am einfachsten.

7

29.10.2013, 19:23

Wie meinst du das?
Hi

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

8

29.10.2013, 19:36

Das heißt, dass du dein Modell intern nicht als Dreiecksnetz repräsentierst, sondern als 3D-Array aus einzelnen kleinen Volumenelementen (so wie ein digitales Bild ein 2D-Array aus Pixeln ist). Zum Rendern kannst du es dann mitt Marching Cubes oder einem anderen Verfahren in ein Dreiecksnetz konvertieren. Mit Raycasting kann man Volumenmodelle natürlich auch direkt rendern. Stichwort: Volume Rendering. Google-Suche überlasse ich dir.

Sc4v

Alter Hase

Beiträge: 376

Beruf: Student

  • Private Nachricht senden

9

29.10.2013, 20:30

Mit Raycasting kann man Volumenmodelle natürlich auch direkt rendern. Stichwort: Volume Rendering.
Da er das für ein Spiel benutzen mag wage ich jetzt einfach mal die Echtzeitfähigkeit dieser Verfahren in Frage zu stellen. Korrigiert mich bitte falls ich zu naiv bin, aber das dürfte für ein Spiel der falsche Weg sein

10

29.10.2013, 21:41

Verstehe ich das richtig? Bei der Marching Cubes Methode habe viele ich Voxel, die zusammen einen Körper bilden. Dieser Körper ist nicht hohl, sondern mir den Voxeln gefüllt, die also das Volumen vom Körper sind, richtig? Dann werden mit Hilfe des Algorithmus die Vertices berechnet und diese werden dann zu Lauter Dreiecken verbunden? Scheint etwas kompliziert zu sein, denn ich verstehe denn Algorithmus noch nicht recht. Ich werde diesen nun aber genauer studieren. Allerdings habe ich gelesen und in Videos gesehen, dass selbst einfache Objekte mit sehr vielen Polygonen dargestellt werden.
Außerdem muss ich doch für jeden Voxel die Koordinaten speichern. Das wird mich doch einen Haufen Speicherplatz kosten, oder?
Hi

Werbeanzeige