| [サイトマップへ] |
Panda3d は,3次元のゲームエンジン.Unity や Unreal Engine よりも気軽に使えて,機能にそん色はない.Panda3d のインストールと動作確認を行う.
3次元のオブジェクトを使って,ダイナミックな何か(マウスやキーボード操作で何か)をしたいときには,Panda3d や Unreal Engine 4 などのゲームエンジンを使うのが便利
この Web ページでは、Ubuntu で 3次元のゲームエンジン Panda 3d 1.10 SDK (GitHub で公開されているソースコード) からのビルドとインストールについて説明する. GitHUb とある通り、リリース前のものを事前に試したいときに使う.
目次
サイト内の関連Webページ
先人に感謝.
Ubuntu のシステム更新を終わっておくこと
端末を開き、次を実行
sudo apt update sudo apt -yV upgrade sudo apt -yV dist-upgrade sudo apt -yV autoremove sudo apt autoclean sudo shutdown -r now
pip をインストール(インストール済みのときは最新版に更新)する.
次のコマンドを実行.
cd /tmp sudo rm -f get-pip.py wget https://bootstrap.pypa.io/get-pip.py sudo python3 get-pip.pyo
次のコマンドを実行.
sudo apt -yV install build-essential gcc g++ dpkg-dev pkg-config python3-dev python3-pip python3-numpy python-dev python-pip python-numpy sudo apt -yV install git make cmake cmake-curses-gui autoconf automake flex bison clang binutils swig curl sudo apt -yV install subversion ccache sudo apt -yV install zip unzip sudo apt -yV install libopenblas-dev liblapack-dev nvidia-cuda-dev sudo apt -yV install nvidia-cuda-toolkit sudo apt -yV install libxi-dev libsndfile1-dev libopenexr-dev libjpeg-dev libalut-dev libsdl-dev libavdevice-dev libavformat-dev libavutil-dev libavcodec-dev libswscale-dev libx264-dev libxvidcore-dev libmp3lame-dev libspnav-dev libglu1-mesa-dev libv4l-dev sudo apt -yV install libbz2-dev libsqlite3-dev libssl-dev libreadline-dev libpng-dev libjpeg-dev libtiff-dev zlib1g-dev libx11-dev libgl1-mesa-dev libxrandr-dev libxxf86dga-dev libxcursor-dev libfreetype6-dev libvorbis-dev libeigen3-dev libopenal-dev libode-dev libbullet-dev libgtk2.0-dev sudo apt -yV install libgtk-3-dev libatlas-base-dev gfortran sudo apt -yV install nvidia-cg-toolkit
https://github.com/panda3d/panda3d
unzip panda3d-master.zip
https://github.com/panda3d/panda3d/blob/master/README.md の手順で行う.
Ubuntu の端末で,次のコマンドを実行
※ Ubuntu システムの中のどの Python に Panda3d がインストールされるかを事前に確認しておくため。
sudo pip3 --version
Ubuntu の端末で,次のコマンドを実行
※ ttps://github.com/panda3d/panda3d/blob/master/README.md による
cd <ソースコードを展開したディレクトリ> python3 makepanda/makepanda.py --everything --installer --no-egl --no-gles --no-gles2 --no-opencv
Ubuntu の端末で,次のコマンドを実行
※ ttps://github.com/panda3d/panda3d/blob/master/README.md による
sudo dpkg -i panda3d*.deb
Ubuntu で Anaconda や virtualenv や pyenv を使う場合の手順を説明します
※ どの Python が使用されるかを事前に確認しておくため。
which python
次のように表示されたら Anaconda をインストール済みであることが確認できる
次のように表示されたら pyenv をインストール済みであることが確認できる
「pyenv versions」でインストールされている Python の種類を調べ、 「pyenv shell <環境名>」でPython 環境を切り替える。実行手順の例は次の通り.
端末で、次のコマンドを実行
cd /tmp sudo rm -f get-pip.py wget https://bootstrap.pypa.io/get-pip.py
https://github.com/panda3d/panda3d/blob/master/README.md の手順で行う.
前準備で用いた端末で,次のコマンドを実行
※ Ubuntu システムの中のどの Python に Panda3d がインストールされるかを事前に確認しておくため。
pip --version
実行結果例(表示が違う場合がありえる)
※ ttps://github.com/panda3d/panda3d/blob/master/README.md による
python makepanda/makepanda.py --everything --installer --no-egl --no-gles --no-gles2 --no-opencv
Ubuntu の端末で,次のコマンドを実行
※ ttps://github.com/panda3d/panda3d/blob/master/README.md による
sudo dpkg -i panda3d*.deb
Ubuntu の端末で,次のコマンドを実行
※ Ubuntu で Anaconda や virtualenv や pyenv を使う場合には「python3」の代わりに「pytnon」
python3 ./samples/ball-in-maze/main.py
ボールをゴールまでもっていくなど,遊んでみよう. このゲームは,「玉」と「壁」の衝突に関するデモである
上で準備したサンプルプログラムを使い,次の機能を試してみる
※ Ubuntu で Anaconda や virtualenv や pyenv を使う場合には「python3」の代わりに「pytnon」
cd <ソースコードを展開したディレクトリ> python3 ./samples/shadows/basic.py
※ 以下、Ubuntu で Anaconda や virtualenv や pyenv を使う場合には「python3」の代わりに「pytnon」
※ Ubuntu で Anaconda や virtualenv や pyenv を使う場合には「python3」の代わりに「pytnon」
cd <ソースコードを展開したディレクトリ> python3 ./samples/bump-mapping/main.py
Ubuntu の端末で,次のコマンドを実行
cd /tmp wget https://www.panda3d.org/download/noversion/art-gallery.zip unzip art-gallery.zip
拡張子 .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 ) base.run()
ファイル名は何でもよいが、日本語などの全角文字は避ける.拡張子は「.py」にする.
Ubuntu の端末で,次のコマンドを実行
※ Ubuntu で Anaconda や virtualenv や pyenv を使う場合には「python3」の代わりに「pytnon」
python3 <ファイル名>
実行例
※ マウス操作
今度は,キーボードの矢印キーを使うプログラム
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 の端末で,次のコマンドを実行
※ Ubuntu で Anaconda や virtualenv や pyenv を使う場合には「python3」の代わりに「pytnon」
python3 <ファイル名>
実行例
※ マウス操作
※ キーボードの矢印キーによる操作もできる