KWEngine, Teil 6: Eigene 3D-Modelle einbinden

KWEngine unterstützt diese gängigen 3D-Formate:

  • Wavefront (*.obj)
  • Collada (*.dae)
  • Filmbox (*.fbx)
  • Graphics Library Transfer Format (*.gltf, *.glb)

Wenn die 3D-Modelle Texturen benötigen, sollten Sie die Texturen im gleichen Ordner wie das 3D-Modell aufbewahren, da dies der erste Ort ist, an dem die Engine danach sucht.

Unterstützte Texturformate sind:

  • Portable Network Graphics (*.png)
  • Joint Photographic Experts Group (*.jpg)
  • DirectDraw Surface mit Kompression DXT1, 3 oder 5 (*.dds)

Wie werden 3D-Modell eingebunden?

Stellen Sie zunächst sicher, dass alle Dateien des Modells in das Ausgabeverzeichnis kopiert werden. Hierfür müssen Sie in Visual Studio für jede Datei die entsprechende Eigenschaft setzen.

3D-Modelle werden pro Welt-Instanz geladen. Jede von World erbende Klasse (z.B. GameWorld) muss daher in ihrer Prepare()-Methode festlegen, welche Modelle geladen und in der welteigenen Datenbank abgelegt werden:

public class GameWorld : World
{
    public override void Prepare()
    {
        KWEngine.LoadModelFromFile("PlayerModel", @".\modellverzeichnis\modelfilename.fbx");

        Player p1 = new Player();
        p1.SetModel("PlayerModel");
        AddGameObject(p1);
    }
}

Im obigen Codebeispiel wird die Methode LoadModelFromeFile() aufgerufen. Als erster Parameter wird festgelegt, unter welchem Namen das Modell intern abgelegt wird.
Anschließend erzeugt man Objekte (z.B. hier von der Klasse Player) und weist ihnen das zuvor geladene Modell zu.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.