NoUserOrg

Reto Spoerri : Game Design : Zürich

ProgrammingPanda3dTutorialModelleLaden

Filed in: Resources.ProgrammingPanda3dTutorialModelleLaden · Modified on : Fri, 31 Jul 09

====== Modelle laden ======

Modelle in der Szene: Panda3d liefert einige Beispielmodelle welche wir nun verwenden.

<code type="Python"> import direct.directbase.DirectStart from pandac.PandaModules import *

  1. load a model

panda = loader.loadModel("panda") panda.reparentTo(render)

run() </code> Nach starten des Scripts muss, während die rechte Maustaste gedrückt wird ,die Maus nach oben bewegt werden.



<code type="Python"> panda = loader.loadModel("panda") </code> Die Methode loader.loadModel lädt ein 3d-modell im Panda3d Format. Panda 3d Modelle gibt es in 2 verschiedenen Formaten, die „.bam“ und die „.egg“ Files.



Wenn ein 3d Modell geladen wird bekommt man einen sogenannten NodePath, dies ist ein Pointer auf ein Modell (oder ein beliebiger anderer Node) im SceneGraph. Der SceneGraph ist eine Baumstruktur welche alle Objekte in der Engine beinhaltet. Der Startpunkt des SceneGraph heisst render. Durch das anhängen „reparentTo“ des Pandas an render haben wir das Objekt in die zu rendernde Szene gesetzt.






===== Modellformate ===== .egg > können durch einen normalen Texteditor verändert werden. > z.Bsp. um bezeichnungen, spezialfeatures, texturlinks zu verändern. .bam > sind in einem binären Format. > Können von der Engine schneller geladen werden. > Sind versionsspezifisch (können z.Bsp. nur von Panda3d 1.5.3 geladen werden)

===== PandaPath ===== Panda3d sucht nach den Modellen im Panda3d-ModelPath. Dieser ist im file Config.prc definiert:

<code type="Python"> model-path $MAIN_DIR model-path /usr/share/panda3d model-path /usr/share/panda3d/models </code>

Zu finden ist Config.prc:

> Windows: C:\Panda3d-1.5.3\etc\Config.prc

> Linux: /etc/Config.prc

> OSX: /Applications/Panda3d/1.5.3/etc/Config.prc

Ein weiteres File Confauto.prc, definiert weitere Konfigurationsparameter.

===== Model-Pfad =====

Pfade werden nicht wie unter Windows üblich mit "\" getrennt sondern mit "/". z.Bsp. > data/models/model.egg

Wird keine Dateiendung angegeben wird der Parameter "default-model-extension" (in Confauto.prc) verwendet.

===== Pview =====

Um egg, bam, und egg.pz (komprimierte egg files) anzusehen, kann pview verwendet werden. http://www.panda3d.org/wiki/index.php/Previewing_3D_Models_in_Pview