Tutorial 3 – Modelpart Animation Scripting

Programmbeispiel 3 demonstriert, wie sich die einzelnen Modellteile (Modelparts) eines 3D-Modells samt des zugehörigen Bounding-Sphären-Kollisionsmodells unter Verwendung eines Skriptes animieren lassen.











Schritt 1: Animation starten

// Der Animator überträgt die einzelnen Animationsschritte auf das
// 3D-Objekt
TestModelAnimator = new CModelAnimator;
TestModelAnimator->Set_ModelInstance(TestModelInstance);

ModelAnimationScript = new CModelAnimationScript;
ModelAnimationScript->Load_Script("../Models/Rocks/AnimationScript.txt");

// Die Skript-Instanz führt das gewählte Skript aus
ModelAnimationScriptInstance = new CModelAnimationScriptInstance;
ModelAnimationScriptInstance->Init_ScriptInstance(ModelAnimationScript);
ModelAnimationScriptInstance->Set_Animator(TestModelAnimator);

ModelAnimationScriptInstance->Start_All_Animations();


Schritt 2: Bounding-Sphären-Kollisionsmodell laden

SphereCollisionModel = new CSphereCollisionModel;
SphereCollisionModel->Init_CollisionModel("../Models/Rocks");

// Die Kollisionsmodell-Instanz repräsentiert das zu einem 3D-Objekt
// zugehörige
Kollisionsmodell
SphereCollisionModelInstance = new CSphereCollisionModelInstance;
SphereCollisionModelInstance->Init_CollisionModelInstance(
                              SphereCollisionModel);


Schritt 3: alle laufenden Animationen updaten

ModelAnimationScriptInstance->Update_All_Animations();


Schritt 4: Kollisionsmodell updaten

SphereCollisionModelInstance->Update_From_ModelInstance(TestModelInstance);




Hinweise zum Erstellen eines neuen Projekts:

  • Kopieren Sie den Ordner GraphicsAndPhysicsFrameworkImports ins Projektverzeichnis
  • Kopieren sie alle dll-Dateien sowie die Konfigurationsdatei ResolutionAndRendering.txt aus besagtem Ordner ins gleiche Verzeichnis, in dem sich auch die exe-Datei befindet (in unseren Programmbeispielen ist dies das Bin-Verzeichnis)
  • Binden Sie die folgenden Dateien in Ihr Projekt ein: GraphicsAndPhysics_Framework_Imports.h, GraphicsAndPhysics_Framework_Imports.lib, glew32.lib, glew32s.lib, glut32.lib. Die Glew- und Glut-Bibliotheken ermöglichen die Nutzung der aktuellen OpenGL-Spezifikationen unabhängig vom Framework.