nach langer Abwesenheit wollte ich mich wieder an das Laden der Modelle mit Hilfe von Assimp wagen. Allerdings stoße ich da auf ein Problem, dass das Model die falsche Ausrichtung hat (Bild 1). Wenn ich allerdings beim Kopieren der Koordinaten den y <=> z vertausche, dann hat das Model seine richtige Ausrichtung (Bild 2). Allerdings habe ich dann das Problem, dass bei einem anderen Model die Position der Objekte nicht mehr stimmt (Bild 3).
Meine Flags zum erzeugen der aiScene sieht so aus:
Code: Alles auswählen
unsigned int Flags = aiProcess_Triangulate |
aiProcess_ConvertToLeftHanded |
aiProcess_MakeLeftHanded |
aiProcess_JoinIdenticalVertices |
aiProcess_SortByPType |
aiProcess_JoinIdenticalVertices |
aiProcess_LimitBoneWeights |
aiProcess_RemoveRedundantMaterials |
aiProcess_OptimizeMeshes |
aiProcess_GenSmoothNormals |
aiProcess_CalcTangentSpace;
::Assimp::Importer Importer;
mScene = Importer.ReadFile(Filename, Flags);
Evt. habe ich ja schon bei den Flags ein Fehler drinne.
Die Modelle befanden sich alle in einer .3DS Datei - evt. liegt es ja daran. Beim kopieren von .x Dateien habe ich solche Probleme nicht. Deshalb stelle ich mir die Frage, ob es eine Möglichkeit gibt, wie ich, für DirectX, an die richtigen Vertexpositionen komme.