Mein Spiel wird viele Low Poly Meshes mit harten Kanten verwenden. Das bedeutet, dass eine Eckpunktposition mehr als eine Normal- und UV-Koordinate verwenden wird. Daher wäre es sinnvoll, Vertex Positionen, Normalen und UVs in 3 separate Arrays aufzuteilen und dann 3 Indizes pro Vertex zu verwenden, um das Mesh zu konstruieren. Gibt es irgendwelche Datenformate für Meshes, die skelettierte Animationen, Lichter, Texturen, Materialien und all diesen Müll zusammen mit separaten Indexpositionen, Normalen und UVs unterstützen? Oder ist es eher eine Frage, wie ich die Daten im 3D-Editor (Blender) speichere?Welche Mesh-Datenformate liefern Indizes für Positionen, Normalen und UV-Coords separat?
0
A
Antwort
2
Leider gibt es keine effiziente Möglichkeit, verschiedene Indizes für Position, Normale, UV usw. zu verwenden. Jede Kombination müsste ein separater Vertex sein.
This Thread diskutiert die Angelegenheit, aber es ist im Allgemeinen viel effizienter, einzelne Vertices zu verwenden.
Wenn Sie sich für den Export von einem 3D-Editor in ein OBJ-Format entscheiden, wird jeder Vertex zusammen mit seinen Daten in der Datei bereitgestellt.
This video zeigt ein vollständiges Beispiel zum Laden einer .obj-Datei, von Blender bis OpenGL.
Verwandte Themen
- 1. Welche Abfrageoperationen nutzen Indizes?
- 2. Welche Informationen in Xml-Kommentaren zu liefern?
- 3. Positionen für SKSpriteNode generieren
- 4. Mietverträge Hangars und Positionen
- 5. Postgres und Indizes für Fremdschlüssel und Primärschlüssel
- 6. nHibernate und SQLServer: kann ich erklären Indizes aus der Abbildung, oder muss ich sie separat erstellen
- 7. Finden Sie jeden Index innerhalb von String und speichern Sie die Indizes separat
- 8. Seitentitel und Projektkopf separat setzen
- 9. OneWay und OneWayToSource separat binden?
- 10. String-Indizes oder Integer-Indizes für Dictionaries in Python?
- 11. Muss ich Indizes für Fremdschlüssel erstellen?
- 12. Welche NoSQL-Datenbanken unterstützen Textarray-Spalten (und Indizes für diese Spalten) wie den Typ postgreSQL text []?
- 13. Fremdschlüssel und Indizes für SQL Server 2005
- 14. Verständnis für Schleifen und Array-Indizes
- 15. IFRAME und widersprüchliche absolute Positionen
- 16. Rückruf Konzept und normalen Aufruf
- 17. MongoDB Indizes für $ elemMatch
- 18. MySQL Indizes und Bestellung
- 19. execve() liefern Fehler für jeden Befehl
- 20. Liefern Datenrahmen als Eingabe für multivariate Funktion
- 21. NSAttributedString und emojis: Problem mit Positionen und Längen
- 22. RDBS wann komplexe Indizes für Abfragen und wann einfach zu verwenden?
- 23. Html2canvas für jeden div PDF Export separat
- 24. Sharding und Indizes
- 25. Mehrere und einzelne Indizes
- 26. Positionen und Größen von Layoutelementen werden für verschiedene Geräte geändert
- 27. Herauszufinden, welche Indizes basierend auf einem einzelnen Wert ausgewählt werden
- 28. Verschiedene Hover-Link-Farben für Fettdruck und normalen Text
- 29. Mitteilung: verschiedenes großes Symbol für die normalen und erweiterten Zustand
- 30. Verwenden Nightmare.js ohne ES6 Syntax und liefern
Ich bemerkte auch, dass .obj-Dateien diese Art der Speicherung von Vertices verwenden. Es gibt alle Positionen, Normalen und UVs und die Flächen sind aus 3 * 3 ganzen Zahlen aufgebaut. Leider hat Obj nicht alle Funktionen, die ich brauche. Ich habe mich jetzt entschieden, einfach nur mit .dae zu bleiben und dann werde ich einfach die 3 separaten Arrays selbst laden und sie indexieren, wenn ich das Mesh lade. Auf diese Weise muss ich nicht so viele Daten an meine Shader senden, und ich kann mehr Berechnungen auf die Grafikkarte übertragen, was eine gute Sache zu sein scheint, da mein Programm die Grafikkarte überhaupt nicht trainieren wird. Danke! – stimulate
@stimulate Kein Problem, vergiss nicht, als Antwort zu markieren :) – SporreKing
hehe gierigen alten Geezer du;) – stimulate