Panda3D は,オープンソースのソフトウェア,3次元ゲーム,可視化,シミュレーションの機能を持つ.
このページでは、3次元のゲームエンジン Panda3D 1.11 SDK (devel 版) のインストールについて説明する.「devel 版」とある通り、リリース前のものを事前に試したいときに使う.
【目次】
【サイト内の関連ページ】
先人に感謝.
【外部ページへのリンク】http://www.panda3d.org/download.php?sdk&version=devel
Windows での Python 3.10 のインストール,pip と setuptools の更新: 別ページ »で説明
Python の公式ページ: https://www.python.org/
https://www.panda3d.org/download.php?platform=windows&version=devel&sdk の手順で行う.
コマンドプロンプトを管理者として実行: 別ページ »で説明
python --version
python -m pip install --pre --extra-index-url https://archive.panda3d.org/ panda3d
devel 版なので、サンプルプログラムが同封されていません. 公式版 (1.10.9) のサンプルプログラムをダウンロードし、インストールしてみる.
https://www.panda3d.org/download/panda3d-1.10.9/panda3d-1.10.9-samples.zip
python .\panda3d-1.10.9\samples\ball-in-maze\main.py
ボールをゴールまでもっていくなど,遊んでみよう. このゲームは,「玉」と「壁」の衝突に関するデモである
上で準備したサンプルプログラムを使い,次の機能を試してみる
python .\panda3d-1.10.9\samples\shadows\basic.py
python .\panda3d-1.10.9\samples\bump-mapping\main.py
次のファイルをダウンロードし,展開(解凍)する.
https://www.panda3d.org/download/noversion/art-gallery.zip
拡張子 .egg のファイルは 3次元モデルデータ のファイルである.
3次元モデル:形のデータ.拡大,縮小,移動,変形できるから「モデル」
pview コマンドは,Panda 3D に付属している,3次元モデルデータの表示プログラム.
※ .eeg ファイルによっては「灰色」の表示しか出ない場合がある
pview <ファイル名>
実行例
※ マウス操作
説明のため Wevefront OBJ形式ファイルを使う. この資料で使用している Wevefront OBJ形式ファイル次からダウンロードできる
import direct.directbase.DirectStart model = loader.loadModel( "sample.obj" ) model.reparentTo( render ) base.cam.setPos( 0, -500, 0 ) base.cam.lookAt( 0, 0, 0 ) base.run()
ファイル名は何でもよいが、日本語などの全角文字は避ける.拡張子は「.py」にする.
Python プログラムを実行する
実行結果例
※ マウス操作
今度は,キーボードの矢印キーを使うプログラム
import direct.directbase.DirectStart model = loader.loadModel( "sample.obj" ) model.reparentTo( render ) base.cam.setPos( 0, -500, 0 ) base.cam.lookAt( 0, 0, 0 ) def forward( ): model.setY( model.getY( ) - 10 ) def backward( ): model.setY( model.getY( ) + 10 ) def right( ): model.setH( model.getH( ) - 10 ) def left( ): model.setH( model.getH( ) + 10 ) base.accept( "arrow_up", forward ) base.accept( "arrow_down", backward ) base.accept( "arrow_right", right ) base.accept( "arrow_left", left ) base.run()
ファイル名は何でもよいが、日本語などの全角文字は避ける.拡張子は「.py」にする.
Python プログラムを実行する
実行結果例
※ マウス操作
※ キーボードの矢印キーによる操作もできる