トップページインストール,運用Ubuntu, WSL2Ubuntu で 3次元のゲームエンジン Panda3D 1.9.4 SDK をインストール

Ubuntu で 3次元のゲームエンジン Panda3D 1.9.4 SDK をインストール

Panda3d は,3次元のゲームエンジン. このページでは,Panda3D のインストールと動作確認を行う.

【目次】

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

【サイト内の関連ページ】

先人に感謝.

前準備

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

Ubuntu のインストールは別ページで説明している

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

Panda3D のインストール

https://launchpad.net/~panda3d/+archive/ubuntu/ppa に記載の手順による.

  1. Ubuntu のリリース名の確認
    lsb_release -sc
    

    [image]
  2. Panda3D のインストールのために,設定

    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
    

    [image]
  3. Panda3D のインストール

    Ubuntuのリリース名が xenial のときは,次のように実行する.

    sudo apt -y update
    sudo apt -y install panda3d1.9
    

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

  1. Ubuntu の端末で,次のコマンドを実行
    python2 /usr/share/panda3d/samples/ball-in-maze/main.py
    

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

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

    [image]

Panda 3D の主要機能

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

光源と影

  1. Ubuntu の端末で,次のコマンドを実行
    python2 /usr/share/panda3d/samples/shadows/basic.py
    

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

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

    [image]

テクスチャ

  1. Ubuntu の端末で,次のコマンドを実行
    python2 /usr/share/panda3d/samples/bump-mapping/main.py
    

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

    [image]

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

  1. ダウンロード Web ページを開く

    http://www.panda3d.org/download.php

  2. Panda3D SDK for Developers (Latest stable: 1.9.4)」をクリック

    SDKの方です.

    [image]
  3. 1.9.4 (Latest stable)」をクリック

    [image]
  4. Panda3d SDK 1.9.4 Free Download for Ubuntu」をクリック

    [image]
  5. art-gallery.zip」をダウンロード

    [image]
  6. ダウンロードした art-gallery.zip を展開(解凍)する.

    分かりやすいディレクトリ(短いディレクトリ)に展開(解凍)するのが良い. 日本語を含むディレクトリには展開(解凍)しないこと.

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

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

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

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

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

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

  10. 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 )
    run()
    

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

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

  4. 実行する.

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

    python2 <ファイル名>
    

    実行例

    [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 の端末で,次のコマンドを実行

    python2 <ファイル名>
    

    実行例

    [image]

    [image]

    ※ マウス操作

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

    [image]