2009-03-12 6 views
1

Ich bin in der Planungsphase eines MS3D-Parsers und schaue durch die specs Ich sehe, dass eine Vertex-Struktur eine BoneId-Variable hat. Ist ein "Knochen" ein Synonym für ein Gelenk? Also, ist das BoneId Variable dann ein Index der Gelenke Array? Wenn nicht, was ist ein Knochen und wo kommt er ins Spiel? Ich hatte immer den Eindruck, dass ein Knochen zwei Gelenke verbindet, aber ich finde keine Vorstellung von einem Knochen in dieser Spezifikation. Ist es unvollständig?MS3D-Analyse: boneID == Gelenk-ID?

Danke !!

EDIT: Was ist ein Knochen, dann? Die Bone-Struktur ist in dieser Header-Datei nicht definiert. Kann jemand mir eine vollständigere Spezifikation für das MS3D-Format zeigen oder ist das nur etwas, das ich in der Lage sein sollte zu schließen?

EDIT2: Nicht so sehr "was ist ein Knochen" so viel wie, wo sind die Knochen? Enthält die ms3d-Datei auch Bones in der Datei und die Spezifikation ist falsch? Wie kann ich diese Knochen laden, damit ich sehen kann, welche Gelenke den Scheitelpunkt beeinflussen?

EDIT noch einmal: Ich habe eine neuere spec für Version 4 gefunden, aber es definiert immer noch keinen Knochen. Was vermisse ich??

Edit4: Ich beginne, die Verbindung zu sehen. Offensichtlich bilden Gelenke Knochen. Da Gelenke ein Elternteilgelenk haben, bilden sie einen Baum (aus irgendeinem Grund dachte ich, dass sie nur zufällig verbunden waren). Also dann kann ich einen Baum aus Knochen bilden, und ich denke, der erste Joint mit einem definierten Elternteil in der Datei würde Knochen 0 bilden, und dann nächste Verbindung mit einem Elternteil Knochen 1 mit seinem Elternteil, und so weiter? Ist das richtig? Ich wünschte, die beiden Spezifikationsdateien, die ich explizit gefunden habe, sagten dies ...

Antwort

0

Ein Knochen ist ein Bezugssystem für eine Sammlung von Vertices. Es ist konzeptionell ... kein Eckpunkt und kein Polygon.

Wenn eine Sammlung von Scheitelpunkten eine gemeinsame Bone-ID hat, bedeutet dies, dass diese Scheitelpunkte folgen, wenn sich dieser Bone bewegt oder rotiert.

Ein Joint erklärt, dass zwei Knochen verbunden sind, und beschreibt, wie und wo sie verbinden.

Wenn Sie sich eine primitive Actionfigur vorstellen, die nur ihre Arme und Beine an der Basis bewegen kann, hätten Sie eine Figur mit fünf Knochen (Körper, Arm, Arm, Bein, Bein) und vier Gelenken, die die Gliedmaßen zeigen zum Körper. Alle Eckpunkte dieser Figur würden zu einem der fünf Knochen gehören und die gesamte Bewegung der Figur würde an einem der vier Gelenke passieren.

0

Ich dachte ein Gelenk verbunden zwei Knochen?

0

Ich glaube, die boneId ist der Knochen, mit dem der Scheitelpunkt im Netz zugeordnet ist.