DirectX/OpenGL Model/Welt
-
Hi,
ich kann sowohl mit DirectX als auch mit OpenGL rotierende Kugeln oder solche Scherze machen, für DirectX habe ich bereits einen Model-Loader für .obj Dateien geschrieben.
Trotzdem stellt sich mir die Frage: Wie erstellt/verarbeitet man jetzt Modelle von Menschen, Tieren, halt sich bewegenen Dingen? Ich denke das wird irgendwie mit Knochen gemacht oder so? Aber ich habe einfach keine Ahnung, wo ich anfangen soll. Wäre für Links/Tutorials sehr dankbar!Die zweite Frage: Wie erstellt ihr ein vollständiges 3D/2D-Level? Schreibt ihr für jedes Spiel einen von Grund auf eigenen Level-Editor? Oder kann man Programme wie Maya/3DS-Max/Blender dafür nutzen? Aber wie verarbeitet man dann die da erstellten Dinge und wie könnte man dort Spielinterna wie "Spawnpunkte" etc. realisieren?
Das sind so zwei Faktoren, bei denen ich mehr oder weniger auf ein schwarzes Knowledge-Loch gucke.
-
Für die Animation von Objekten (aka Pixelhaufen) wurde früher einfach für jeden Frame die jeweiligen Vertex Positionen gespeichert. Heute macht man es, wie du richtig geahnt hast, mit "Skelett" Animationen.
http://en.wikipedia.org/wiki/Skeletal_animationDabei gibt es das relativ einfach aufgebaute Skelett, welches dann selber z.B. Frame für Frame gespeicherte Positionen hat.
Vertexe werden dann einem oder mehrerer dieser Skelettsegmenten in unterschiedliche starken Verhältnissen zugeordnet.
Bei in Spielen eingesetzten Modellen würde man aus Performancegründen darauf achten das ein Vertex nicht zuvielen Segmenten zugeordnet ist, da man die Vertex Positionen in einem Shader errechnet und es da bestimmte Limitationen gibt.Am bestem zum Verstehen mal mit Blender ein eigenes einfaches Modell mit Skelett Animation machen. Da gibt es Viele gute Tutorials zu.
Um Level darzustellen werden diverse Techniken benutzt. Statische Geometrie wurde früher oft als BSP-Baum aufgebaut. Man denke dabei an Quake und die erste Unreal Engine. Heute mit den Veränderten Performance Charakteristiken der Grafikkarten und Echtzeit Lichtberechnungen werden fast alle Level aus 3d Modellen zusammengesetzt. Daneben gibt es natürliche immer noch einige andere Ansätze wie Höhenmaps (z.B. in Fallout 3)
Und wenn man die "Modell in 3d Raum stellen um ein Level zu bauen" Variante verwendet, dann ist es auch kein Aufwand einen Leveleditor zu bauen.