PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Blender Export DirectX


Gast
2009-08-22, 13:45:08
Hallo.
Ich habe ein Problem.

Versuche gerade mit Blender erstellte Object ins .x Format zu exportieren.
Um das Problem etwas zu verdeutlichen, habe ich einfach einmal den Würfel, welchen man beim start von Blender bekommt exportiert.

Der X-File sieht folgendermassen aus.

xof 0303txt 0032


template VertexDuplicationIndices {
<b8d65549-d7c9-4995-89cf-53a9a8b031e3>
DWORD nIndices;
DWORD nOriginalVertices;
array DWORD indices[nIndices];
}
template XSkinMeshHeader {
<3cf169ce-ff7c-44ab-93c0-f78f62d172e2>
WORD nMaxSkinWeightsPerVertex;
WORD nMaxSkinWeightsPerFace;
WORD nBones;
}
template SkinWeights {
<6f0d123b-bad2-4167-a0d0-80224f25fabb>
STRING transformNodeName;
DWORD nWeights;
array DWORD vertexIndices[nWeights];
array float weights[nWeights];
Matrix4x4 matrixOffset;
}

Frame RootFrame {

FrameTransformMatrix {
1.000000,0.000000,0.000000,0.000000,
0.000000,1.000000,0.000000,0.000000,
0.000000,0.000000,-1.000000,0.000000,
0.000000,0.000000,0.000000,1.000000;;
}
Frame Cube {

FrameTransformMatrix {
1.000000,0.000000,0.000000,0.000000,
0.000000,1.000000,0.000000,0.000000,
0.000000,0.000000,1.000000,0.000000,
0.000000,0.000000,0.000000,1.000000;;
}
Mesh {
24;
1.000000; 1.000000; -1.000000;,
1.000000; -1.000000; -1.000000;,
-1.000000; -1.000000; -1.000000;,
-1.000000; 1.000000; -1.000000;,
1.000000; 1.000000; 1.000000;,
-1.000000; 1.000000; 1.000000;,
-1.000000; -1.000000; 1.000000;,
1.000000; -1.000000; 1.000000;,
1.000000; 1.000000; -1.000000;,
1.000000; 1.000000; 1.000000;,
1.000000; -1.000000; 1.000000;,
1.000000; -1.000000; -1.000000;,
1.000000; -1.000000; -1.000000;,
1.000000; -1.000000; 1.000000;,
-1.000000; -1.000000; 1.000000;,
-1.000000; -1.000000; -1.000000;,
-1.000000; -1.000000; -1.000000;,
-1.000000; -1.000000; 1.000000;,
-1.000000; 1.000000; 1.000000;,
-1.000000; 1.000000; -1.000000;,
1.000000; 1.000000; 1.000000;,
1.000000; 1.000000; -1.000000;,
-1.000000; 1.000000; -1.000000;,
-1.000000; 1.000000; 1.000000;;
6;
4; 0, 3, 2, 1;,
4; 4, 7, 6, 5;,
4; 8, 11, 10, 9;,
4; 12, 15, 14, 13;,
4; 16, 19, 18, 17;,
4; 20, 23, 22, 21;;
MeshMaterialList {
1;
6;
0,
0,
0,
0,
0,
0;;
Material Material {
0.800000; 0.800000; 0.800000;1.0;;
0.500000;
1.000000; 1.000000; 1.000000;;
0.0; 0.0; 0.0;;
} //End of Material
} //End of MeshMaterialList
MeshNormals {
24;
0.577349; 0.577349; -0.577349;,
0.577349; -0.577349; -0.577349;,
-0.577349; -0.577349; -0.577349;,
-0.577349; 0.577349; -0.577349;,
0.577349; 0.577349; 0.577349;,
-0.577349; 0.577349; 0.577349;,
-0.577349; -0.577349; 0.577349;,
0.577349; -0.577349; 0.577349;,
0.577349; 0.577349; -0.577349;,
0.577349; 0.577349; 0.577349;,
0.577349; -0.577349; 0.577349;,
0.577349; -0.577349; -0.577349;,
0.577349; -0.577349; -0.577349;,
0.577349; -0.577349; 0.577349;,
-0.577349; -0.577349; 0.577349;,
-0.577349; -0.577349; -0.577349;,
-0.577349; -0.577349; -0.577349;,
-0.577349; -0.577349; 0.577349;,
-0.577349; 0.577349; 0.577349;,
-0.577349; 0.577349; -0.577349;,
0.577349; 0.577349; 0.577349;,
0.577349; 0.577349; -0.577349;,
-0.577349; 0.577349; -0.577349;,
-0.577349; 0.577349; 0.577349;;
6;
4; 0, 3, 2, 1;,
4; 4, 7, 6, 5;,
4; 8, 11, 10, 9;,
4; 12, 15, 14, 13;,
4; 16, 19, 18, 17;,
4; 20, 23, 22, 21;;
} //End of MeshNormals
}
}
}

1. Frage. Warum sind dort 24 anstatt 8 Vertices im Mesh ?
2. Frage. Habe mit Strg t die Poly`s in Dreiecke umgewandelt. Warum sind im X-File aber 4 Indices pro Poly ?

Kann mir das jemand erklären ?

Danke.

MrMostar
2009-08-22, 16:02:49
zu 1. ohne triangle strips werden es 2 Dreiecke pro Würfelseite, die sich 2 Vertices teilen: (2*3-2)*6=24Vertices.

Gast
2009-08-22, 16:33:14
Ich weiss, was du meinst.
Aber ich will eigentlich bloss das die Anzahl der Vertces meiner Objecte auch der Anzahl der Verbindungen entspricht (Indizierte Vertices, welche Eckpunkte von mehreren Dreiecken sein können.).
Ich habe es über Editmodus: mesh->Vertices->Remove Double probiert, aber auch das geht nicht.

Gast
2009-08-22, 16:43:50
Eine weitere Information:
Die Objecte sollen in einer Spielumgebung(Direct3D) eingesetzt werden.
Dabei sollte man die Anzahl der Vertices auf ein Minimum reduzieren.

Danke.

MrMostar
2009-08-22, 17:09:09
Ich vermute, daß die die 90° Kanten des Würfels eine Zusammenfassung verhindern. Ich würde ein Objekt mit einer gebogenen Oberfläche ausprobieren, da sollte es funktionieren.