Panda3Dでモデルを表示するコード

一番簡単だと思われるサンプル。

import direct.directbase.DirectStart

origObj = loader.loadModel("x/car04.x")
origObj.reparentTo(render)

run()


実行結果はスクリーンショット参照。
Panda3Dは最初からカメラが操作できるようになっていて、マウスの左、真ん中、右の各ボタンでそれぞれ移動・回転・拡大ができる。ゲームを作る際にはこの機能をOffにするコードをあえて書くらしい。
画面右上にFPS値が表示されているのは、これもPanda3Dに最初から付いてる機能。デフォルトだと表示されないが、設定ファイルを書き換えて設定を有効にすると表示される。



以下のような感じにライトを設定してやるとちゃんと質感が出てきます。
スクリプト

import direct.directbase.DirectStart
from pandac.PandaModules import *

origObj = loader.loadModel("x/car04.x")
origObj.reparentTo(render)

dlight = DirectionalLight('dlight')
dlnp = render.attachNewNode(dlight)
render.setLight(dlnp)

run()

スクリーンショット


※ただし、モデルの座標とPandaの初期座標が重なってしまっているので、スクリプトを実行した直後は以下のような感じ。
スクリーンショット



素材提供元 http://sakura.hippy.jp/meta/