トップページ -> 最新情報技術の実習と研究ツール -> Linux のインストール,設定,運用保守,便利な使い方 -> Ubuntu で 3次元のゲームエンジン Panda 3d 1.10 SDK (devel 版) をインストール
[サイトマップへ]  

Ubuntu で 3次元のゲームエンジン Panda 3d 1.10 SDK (devel 版) をインストール

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

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

この Web ページでは、Ubuntu で 3次元のゲームエンジン Panda 3d 1.10 SDK (devel 版) のインストールについて説明する.「devel 版」とある通り、リリース前のものを事前に試したいときに使う.

目次

  1. 前準備
  2. Panda 3d 1.10 SDK (devel 版)のインストール
  3. Anaconda や virtualenv や pyenv を用いる場合の Panda 3d 1.10 SDK (devel 版) のインストール手順
  4. 公式版 (1.9.4) のサンプルプログラムをダウンロードし、実行してみる
  5. Panda 3D の主要機能
  6. art-gallery.zip の中の .egg 形式ファイル
  7. 3次元モデルデータの表示プログラム

サイト内の関連Webページ

先人に感謝.

キーワード: Panda3d, Wavefront OBJ 形式ファイルの表示, Python


前準備

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

Panda 3d 1.10 SDK (devel 版) のインストール

https://www.panda3d.org/download.php?platform=bionic&version=devel&sdk の手順で行う.

  1. pip の確認

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

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

    sudo pip3 --version
    

  2. Panda3d の devel 版のインストール

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

    sudo pip3 install --pre --extra-index-url https://archive.panda3d.org/ panda3d
    

Anaconda や virtualenv や pyenv を用いる場合の Panda 3d 1.10 SDK (devel 版) のインストール手順

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 のビルドとインストール

  1. pip の確認

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

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

    pip --version
    

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

  2. Panda3d の devel 版のビルドとインストール
    cd /tmp
    sudo rm -f get-pip.py
    wget https://bootstrap.pypa.io/get-pip.py
    python get-pip.py
    pip install --pre --extra-index-url https://archive.panda3d.org/ panda3d
    

    途中省略

    途中省略


    公式版 (1.9.4) のサンプルプログラムをダウンロードし、実行してみる

    devel 版なので、サンプルプログラムが同封されていません. 公式版 (1.9.4) のサンプルプログラムをダウンロードし、インストールしてみます.

    1. 公式版 (1.9.4) のサンプルプログラムをダウンロードし,展開(解凍)する.

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

      cd /tmp
      wget https://www.panda3d.org/download/panda3d-1.9.4/panda3d-1.9.4-samples.zip
      unzip panda3d-1.9.4-samples.zip
      

    2. ball-in-maze を実行してみる

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

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

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

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

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


    Panda 3D の主要機能

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

    光源と影

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

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

      python3 ./panda3d-1.9.4/samples/shadows/basic.py
      

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

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

    テクスチャ

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

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

      python3 ./panda3d-1.9.4/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 <ファイル名>
      

      実行例

      ※ マウス操作

      • 左ボタンを押しながらマウスを動かす: 視点移動(上下左右)
      • 右ボタンを押しながらマウスを動かす: 視点移動(前後)

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