トップページ -> データベース研究スタート -> Linux のインストール,設定,運用保守,便利な使い方 -> Ubuntu で 3次元のゲームエンジン Panda 3d のビルドとインストール(書きかけ)
[サイトマップへ]  

Ubuntu で 3次元のゲームエンジン Panda 3d のビルドとインストール(書きかけ)

Panda3d は,3次元のゲームエンジン.Unity や Unreal Engine よりも気軽に使えて,機能にそん色はない.Panda3d のインストールと動作確認を行う.

3次元のオブジェクトを使って,ダイナミックな何か(マウスやキーボード操作で何か)をしたいときには,Panda3d や Unreal Engine 4 などのゲームエンジンを使うのが便利

この Web ページでは、Ubuntu で 3次元のゲームエンジン Panda 3d 1.10 SDK (GitHub で公開されているソースコード) からのビルドとインストールについて説明する. GitHUb とある通り、リリース前のものを事前に試したいときに使う.

目次

  1. 前準備
  2. Panda3d のソースコードのダウンロード
  3. Ubuntu で Panda3d のビルドとインストール
  4. Anaconda や virtualenv や pyenv を用いる場合の Panda3d のインストール手順
  5. 付属のサンプルプログラムを実行してみる
  6. Panda 3D の主要機能
  7. art-gallery.zip の中の .egg 形式ファイル
  8. 3次元モデルデータの表示プログラム

サイト内の関連Webページ

先人に感謝.


前準備

Ubuntu のシステム更新

Ubuntu のシステム更新を終わっておくこと

端末を開き、次を実行

sudo apt update
sudo apt -yV upgrade
sudo apt -yV dist-upgrade
sudo apt -yV autoremove
sudo apt autoclean
sudo shutdown -r now

Python 処理系の pip のインストール

pip をインストール(インストール済みのときは最新版に更新)する.

次のコマンドを実行.

cd /tmp
sudo rm -f get-pip.py
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
o

Ubuntu でのビルドに有用なソフトウエアのインストール

次のコマンドを実行.

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 curl
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 

Panda3d のソースコードのダウンロード

  1. GitHub の Panda3d の Web ページを開く

    https://github.com/panda3d/panda3d

  2. Clone or download」を展開し, 「Download ZIP」をクリック

  3. .zip ファイルがダウンロードされるので確認する.

  4. ダウンロードした .zip ファイルを展開(解凍)する.
    unzip panda3d-master.zip
    

Ubuntu で Panda3d のビルドとインストール

https://github.com/panda3d/panda3d/blob/master/README.md の手順で行う.

  1. pip3 の確認

    Ubuntu の端末で,次のコマンドを実行

    ※ Ubuntu システムの中のどの Python に Panda3d がインストールされるかを事前に確認しておくため。

    sudo pip3 --version
    

  2. ビルド

    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
    

  3. インストール

    Ubuntu の端末で,次のコマンドを実行

    ttps://github.com/panda3d/panda3d/blob/master/README.md による

    sudo dpkg -i panda3d*.deb
    

Anaconda や virtualenv や pyenv を用いる場合の Panda3d のインストール手順

Ubuntu で Anacondavirtualenvpyenv を使う場合の手順を説明します

前準備

  1. 新しく端末を開く

  2. python の確認

    ※ どの Python が使用されるかを事前に確認しておくため。

    which python 
    

    次のように表示されたら Anaconda をインストール済みであることが確認できる

    次のように表示されたら pyenv をインストール済みであることが確認できる

  3. python 環境の選択

  4. pip をインストール(インストール済みのときは最新版に更新)

    端末で、次のコマンドを実行

    cd /tmp
    sudo rm -f get-pip.py
    wget https://bootstrap.pypa.io/get-pip.py
    

  5. 今開いている端末は、引き続き使用する

Panda3d のビルドとインストール

https://github.com/panda3d/panda3d/blob/master/README.md の手順で行う.

  1. pip の確認

    前準備で用いた端末で,次のコマンドを実行

    ※ Ubuntu システムの中のどの Python に Panda3d がインストールされるかを事前に確認しておくため。

    pip --version
    

    実行結果例(表示が違う場合がありえる)

  2. ビルド

    ttps://github.com/panda3d/panda3d/blob/master/README.md による

    python makepanda/makepanda.py --everything --installer --no-egl --no-gles --no-gles2 --no-opencv
    

  3. インストール

    Ubuntu の端末で,次のコマンドを実行

    ttps://github.com/panda3d/panda3d/blob/master/README.md による

    sudo dpkg -i panda3d*.deb
    

付属のサンプルプログラムを実行してみる

  1. 付属のサンプルプログラム ball-in-maze を実行してみる

    Ubuntu の端末で,次のコマンドを実行

    ※ Ubuntu で Anacondavirtualenvpyenv を使う場合には「python3」の代わりに「pytnon

    python3 ./samples/ball-in-maze/main.py
    

  2. ゲーム画面が開けば OK.開かない場合には panda3d.pth の設定などを再確認する(インストールをやり直す).

    ボールをゴールまでもっていくなど,遊んでみよう. このゲームは,「玉」と「壁」の衝突に関するデモである


Panda 3D の主要機能

上で準備したサンプルプログラムを使い,次の機能を試してみる

光源と影

  1. Ubuntu の端末で,次のコマンドを実行

    ※ Ubuntu で Anacondavirtualenvpyenv を使う場合には「python3」の代わりに「pytnon

    cd <ソースコードを展開したディレクトリ>
    python3 ./samples/shadows/basic.py
    

  2. スポットライト,陰影,影が表現できていることを確認する.(見て楽しむ)

  3. もともとのプログラムで,光源を指定している部分は次の通り

テクスチャ

※ 以下、Ubuntu で Anacondavirtualenvpyenv を使う場合には「python3」の代わりに「pytnon

  1. Ubuntu の端末で,次のコマンドを実行

    ※ Ubuntu で Anacondavirtualenvpyenv を使う場合には「python3」の代わりに「pytnon

    cd <ソースコードを展開したディレクトリ>
    python3 ./samples/bump-mapping/main.py
    

  2. 模様やでこぼこが表現できている.(見て楽しむ). マウス操作で回転できる.ESC キーで終了.

art-gallery.zip の中の .egg 形式ファイル

  1. ダウンロードと展開(解凍)

    Ubuntu の端末で,次のコマンドを実行

    cd /tmp
    wget https://www.panda3d.org/download/noversion/art-gallery.zip
    unzip art-gallery.zip
    

  2. サブディレクトリの下に,ファイル名の末尾が「-egg.zip」のファイルがあるので,展開(解凍)する.

  3. 展開すると,拡張子 .eeg のファイルや画像ファイルなどができることを確認

    拡張子 .egg のファイルは 3次元モデルデータ のファイルである.

    3次元モデル:形のデータ.拡大,縮小,移動,変形できるから「モデル」

  4. pview コマンドで,3次元モデルデータの表示ができることを確認する.

    pview コマンドは,Panda 3D に付属している,3次元モデルデータの表示プログラム.

  5. Ubuntu の端末で,pview コマンドを実行
    pview <ファイル名>
    

    実行例

    ※ マウス操作


3次元モデルデータの表示プログラム

Wavefront OBJ 形式ファイルの表示

  1. Wavefront OBJ 形式ファイルを準備する

    サンプルファイルを下のリンクからダウンロードできるように準備しました

  2. テキストファイルの中身を次のように書く
    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()
    

  3. テキストファイルを,保存する.

    ファイル名は何でもよいが、日本語などの全角文字は避ける.拡張子は「.py」にする.

  4. 実行する.

    Ubuntu の端末で,次のコマンドを実行

    ※ Ubuntu で Anacondavirtualenvpyenv を使う場合には「python3」の代わりに「pytnon

    python3 <ファイル名>
    

    実行例

    ※ マウス操作

キーボードの矢印キーによる操作

今度は,キーボードの矢印キーを使うプログラム

  1. 今度は、テキストファイルの中身を次のように書く
    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()
    

  2. テキストファイルを,保存する.

    ファイル名は何でもよいが、日本語などの全角文字は避ける.拡張子は「.py」にする.

  3. 実行する.

    Ubuntu の端末で,次のコマンドを実行

    ※ Ubuntu で Anacondavirtualenvpyenv を使う場合には「python3」の代わりに「pytnon

    python3 <ファイル名>
    

    実行例

    ※ マウス操作

    ※ キーボードの矢印キーによる操作もできる