金子邦彦研究室インストールUbuntu, WSL23次元ゲームエンジン Panda3D 1.11 SDK (dev 版) のインストール(Ubuntu 上)

3次元ゲームエンジン Panda3D 1.11 SDK (dev 版) のインストール(Ubuntu 上)

Panda3D は,オープンソースのソフトウェア,3次元ゲーム,可視化,シミュレーションの機能を持つ.

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

目次

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

サイト内の関連ページ

先人に感謝.

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

前準備

Ubuntu のシステム更新

UbuntuUbuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する.

UbuntuUbuntu のインストールは別ページ »で説明

sudo apt -y update
sudo apt -yV upgrade
sudo /sbin/shutdown -r now

C/C++ コンパイラー,make,パッケージツールのインストール(Ubuntu 上)

インストールするには,端末で,次のコマンドを実行する.

sudo apt -y install build-essential gcc g++ make libtool texinfo dpkg-dev pkg-config

curl, unzip のインストール(Ubuntu 上)

インストールするには, 端末で,次のコマンドを実行する.

sudo apt -y install curl unzip

Python3 開発用ファイル,pip, setuptools, venv のインストール(Ubuntu 上)

Python のインストールは行わない(Ubuntu のシステム Python を用いる.)

Python, pip のコマンドでの起動のまとめ.

Ubuntu のシステム Python を用いるとき, python, pip は,次のコマンドで起動できる.

Ubuntu での Python 開発環境(JupyterLab, spyder, nteract)のインストール: 別ページ »で説明している.

Python3 開発用ファイル,pip, setuptools, venv のインストール

端末で,次のコマンドを実行する.

sudo apt -y update
sudo apt -y install python-is-python3 python3-dev python-dev-is-python3 python3-pip python3-setuptools python3-venv build-essential

Panda3D 1.11 SDK (dev 版) のインストール(Ubuntu 上)

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
    

    [image]
  • バージョンの確認
    pip3 show panda3d
    

    [image]

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

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

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

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

      cd /tmp
      curl -O https://www.panda3d.org/download/panda3d-1.10.11/panda3d-1.10.11-samples.zip
      cd /usr/local
      sudo unzip /tmp/panda3d-1.10.11-samples.zip
      sudo chown -R $USER panda3d-1.10.11
      

      [image]
      (以下省略)
    2. ball-in-maze を実行してみる

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

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

      python3 /usr/local/panda3d-1.10.11/samples/ball-in-maze/main.py
      

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

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

      [image]

    Panda 3D の主要機能

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

    光源と影

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

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

      python3 /usr/local/panda3d-1.10.11/samples/shadows/basic.py
      

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

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

      [image]

    テクスチャ

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

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

      python3 /usr/local/panda3d-1.10.11/samples/bump-mapping/main.py
      

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

      [image]

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

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

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

      cd /tmp
      curl https://www.panda3d.org/download/noversion/art-gallery.zip
      unzip art-gallery.zip
      
    2. サブディレクトリの下に,ファイル名の末尾が「-egg.zip」のファイルがあるので,展開(解凍)する.

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

      [image]

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

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

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

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

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

      実行例

      [image]

      [image]

      ※ マウス操作

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

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

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

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

    4. 実行する.

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

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

      python3 <ファイル名>
      

      実行例

      [image]

      [image]

      ※ マウス操作

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

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

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

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

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

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

    3. 実行する.

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

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

      python3 <ファイル名>
      

      実行例

      [image]

      [image]

      ※ マウス操作

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

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

      [image]