Panda3D で Wavefront OBJ 形式ファイルを表示
Panda3D は,オープンソースのソフトウェア,3次元ゲーム,可視化,シミュレーションの機能を持つ.
【サイト内の関連ページ】
- Windows での Panda3D のインストール: 別ページ »で説明
- Ubuntu での Panda3D のインストール: 別ページ »で説明
- Panda3D の機能概要(説明資料)[PDF], [パワーポイント]
- 3次元のゲームエンジン Panda3D を使ってみる: 別ページ »にまとめている.
先人に感謝.
【関連する外部ページ】http://www.panda3d.org/download.php?sdk&version=devel
1. 前準備
- c:\Program Files\Python38\lib\site-packages\panda3d\models\ を開くと、「.egg.gz」のファイルがあることを確認
これらは 3次元モデルのファイル
「無いよ!」というときは、別のディレクトリを探す。
- このディレクトリに、次のファイルをダウンロードする
2. Wavefront OBJ 形式ファイルの読み込み
- テキストファイルの中身を次のように書く
テキストエディタを用いてファイルを作成する.* 参考のため,Visual Studio Code で Panda3d を使う手順を別のページで説明している.
from direct.showbase.ShowBase import ShowBase from direct.showbase.Loader import Loader class HelloWorld(ShowBase): def __init__(self): ShowBase.__init__(self) self.scene = self.loader.loadModel("models/environment") self.scene.reparentTo(self.render) self.scene.setScale(1, 1, 1) self.scene.setPos(0, 0, 0) self.circle = self.loader.loadModel("models/circle.obj") self.circle.reparentTo(self.render) self.circle.setScale(1, 1, 1) self.circle.setPos(-6, 20, 0) self.cone = self.loader.loadModel("models/cone.obj") self.cone.reparentTo(self.render) self.cone.setScale(1, 1, 1) self.cone.setPos(-4, 20, 0) self.cube = self.loader.loadModel("models/cube.obj") self.cube.reparentTo(self.render) self.cube.setScale(1, 1, 1) self.cube.setPos(-2, 20, 0) self.cylinder = self.loader.loadModel("models/cylinder.obj") self.cylinder.reparentTo(self.render) self.cylinder.setScale(1, 1, 1) self.cylinder.setPos(0, 20, 0) self.plane = self.loader.loadModel("models/plane.obj") self.plane.reparentTo(self.render) self.plane.setScale(1, 1, 1) self.plane.setPos(2, 20, 0) self.sphere = self.loader.loadModel("models/sphere.obj") self.sphere.reparentTo(self.render) self.sphere.setScale(1, 1, 1) self.sphere.setPos(4, 20, 0) self.torus = self.loader.loadModel("models/torus.obj") self.torus.reparentTo(self.render) self.torus.setScale(1, 1, 1) self.torus.setPos(6, 20, 0) app = HelloWorld() app.run()
- テキストファイルを,保存する.
ファイル名は何でもよいが、日本語などの全角文字は避ける.拡張子は「.py」にする.
- 実行する.
* 参考のため,Visual Studio Code で Panda3d を使う手順を別のページで説明している.
- プリミティブが表示されるので確認する.
- マウス操作
- 左ボタンを押しながらマウスを動かす: 視点移動(上下左右)
- 右ボタンを押しながらマウスを動かす: 視点移動(前後)
結果を確認したら,右上の「x」をクリックして終了.
演習問題:上の手順で3次元モデルを表示しなさい.マウス操作も行いなさい.