| [サイトマップへ] |
Panda3d は,3次元のゲームエンジン.Unity や Unreal Engine よりも気軽に使えて,機能にそん色はない.Panda3d のインストールと動作確認を行う.
3次元のオブジェクトを使って,ダイナミックな何か(マウスやキーボード操作で何か)をしたいときには,Panda3d や Unreal Engine 4 などのゲームエンジンを使うのが便利
※ ここでインストールする Panda 3d 1.9.4 SDK には、 Windows で動く Python 処理系が同封されている.同封の Python 処理系を使って Panda3d を動かす(すでに Windows に Python 処理系をインストール済みであっても、それは使わない).
目次
サイト内の関連Webページ
先人に感謝.
参考 Web ページ: http://www.panda3d.org/download.php?sdk&version;=devel
キーワード: Panda3d, Wavefront OBJ 形式ファイルの表示, Python
http://www.panda3d.org/download.php
SDKの方です.
ダウンロードするファイルは 2つ.1つめは「_x64」が付いた方を選ぶ
※ C:\ProgramData\Anaconda3\Lib\site-packages というような名前のディレクトリ(フォルダ)があるはず. それを開く
エディタを使う.
※ ファイル名を変えてはいけない.
C:\Panda3D-1.9.4-x64 C:\Panda3D-1.9.4-x64\bin
新しくWindowsのコマンドプロンプトを開き、次のコマンドを実行.
エラーメッセージが出ないことを確認する
where ppython
スタートメニューを使わないときは、次の手順で起動
ボールをゴールまでもっていくなど,遊んでみよう. このゲームは,「玉」と「壁」の衝突に関するデモである
サンプルプログラムを使い,次の機能を試してみる
スタートメニューを使わないときは、次の手順で起動
スポットライト,陰影,影が表現できていることを確認する.(見て楽しむ)
もともとのプログラムで,光源を指定している部分は次の通り
スタートメニューを使わないときは、次の手順で起動
模様やでこぼこが表現できている.(見て楽しむ). マウス操作で回転できる.ESC キーで終了.
分かりやすいディレクトリ(短いディレクトリ)に展開(解凍)するのが良い. 日本語を含むディレクトリには展開(解凍)しないこと.
※ 下の実行例では,d:\の直下に解凍(展開)している
拡張子 .egg のファイルは 3次元モデル のファイルである.
3次元モデル:形のデータ.拡大,縮小,移動,変形できるから「モデル」
pview コマンドは,Panda 3D に付属している,3次元モデルの表示プログラム.
Windows のときは,コマンドプロントで pview を実行
※ .eeg ファイルによっては「灰色」の表示しか出ない場合がある(下図のように).他の .egg ファイルを試すこと.
説明のため 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」にする.
※ 参考のため,Visual Studio Code で Panda3d を使う手順を別の Web ページで説明しています.
実行結果例
※ マウス操作
今度は,キーボードの矢印キーを使うプログラム
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」にする.
※ 参考のため,Visual Studio Code で Panda3d を使う手順を別の Web ページで説明しています.
実行結果例
※ マウス操作
※ キーボードの矢印キーによる操作もできる