Panda3d は,3次元のゲームエンジン. このページでは,Panda3D のインストールと動作確認を行う.
【目次】
【サイト内の関連ページ】
先人に感謝.
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行.
Ubuntu のインストールは別ページで説明している
sudo apt -y update sudo apt -yV upgrade sudo /sbin/shutdown -r now
https://launchpad.net/~panda3d/+archive/ubuntu/ppa に記載の手順による.
lsb_release -sc
Ubuntuのリリース名が xenial のときは,次のように実行する.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E375BC9D sudo add-apt-repository "deb [arch=amd64] https://archive.panda3d.org/ubuntu xenial main" sudo apt -y update
Ubuntuのリリース名が xenial のときは,次のように実行する.
sudo apt -y update sudo apt -y install panda3d1.9
python2 /usr/share/panda3d/samples/ball-in-maze/main.py
ボールをゴールまでもっていくなど,遊んでみよう. このゲームは,「玉」と「壁」の衝突に関するデモである
サンプルプログラムを使い,次の機能を試してみる
python2 /usr/share/panda3d/samples/shadows/basic.py
python2 /usr/share/panda3d/samples/bump-mapping/main.py
SDKの方です.
分かりやすいディレクトリ(短いディレクトリ)に展開(解凍)するのが良い. 日本語を含むディレクトリには展開(解凍)しないこと.
拡張子 .egg のファイルは 3次元モデルデータ のファイルである.
3次元モデル:形のデータ.拡大,縮小,移動,変形できるから「モデル」
pview コマンドは,Panda 3D に付属している,3次元モデルデータの表示プログラム.
pview <ファイル名>
実行例
※ マウス操作
サンプルファイルを下のリンクからダウンロードできるように準備しました
import direct.directbase.DirectStart model = loader.loadModel( "sample.obj" ) model.reparentTo( render ) base.cam.setPos( 0, -500, 0 ) base.cam.lookAt( 0, 0, 0 ) run()
ファイル名は何でもよいが、日本語などの全角文字は避ける.拡張子は「.py」にする.
Ubuntu の端末で,次のコマンドを実行
python2 <ファイル名>
実行例
※ マウス操作
今度は,キーボードの矢印キーを使うプログラム
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」にする.
Ubuntu の端末で,次のコマンドを実行
python2 <ファイル名>
実行例
※ マウス操作
※ キーボードの矢印キーによる操作もできる