Panda3D SDK のインストール,サンプルプログラムの実行(3次元のゲームエンジン)(Python を使用)(Windows 上)

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

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

目次

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

サイト内の関連ページ

先人に感謝.

関連する外部ページhttp://www.panda3d.org/download.php?sdk&version=devel

前準備

Python 3.10 のインストール(Windows 上)

Pythonは,プログラミング言語の1つ.

手順

  1. Windows で,コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
  2. 次のコマンドを実行

    次のコマンドは,Python ランチャーとPython 3.10をインストールする.

    winget install --scope machine Python.Launcher
    winget install --scope machine Python.Python.3.10
    

関連する外部ページ

サイト内の関連ページ

関連項目Python

Panda3D 1.11 SDK (devel 版) のインストール

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

  1. Windows で,コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
  2. 使用する Python のバージョンの確認
    python --version
    
  3. Panda3d 最新版のインストール
    python -m pip install --pre --extra-index-url https://archive.panda3d.org/ panda3d
    

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

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

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

    https://www.panda3d.org/download/panda3d-1.10.9/panda3d-1.10.9-samples.zip

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

    Windowsコマンドプロンプトで,次のコマンドを実行

    python .\panda3d-1.10.9\samples\ball-in-maze\main.py
    
  3. ゲーム画面が開けば OK.

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

Panda 3D の主要機能

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

光源と影

  1. Windowsコマンドプロンプトで,次のコマンドを実行
    python .\panda3d-1.10.9\samples\shadows\basic.py
    
  2. スポットライト,陰影,影が表現できていることを確認する.(見て楽しむ)
  3. もともとのプログラムで,光源を指定している部分は次の通り

テクスチャ

  1. Windowsコマンドプロンプトで,次のコマンドを実行
    python .\panda3d-1.10.9\samples\bump-mapping\main.py
    
  2. 模様やでこぼこが表現できている.(見て楽しむ). マウス操作で回転できる.ESC キーで終了.

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

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

    次のファイルをダウンロードし,展開(解凍)する.

    https://www.panda3d.org/download/noversion/art-gallery.zip

  2. サブディレクトリの下に,ファイル名の末尾が「-egg.zip」のファイルがあるので,展開(解凍)する.
  3. 展開すると,拡張子 .egg のファイルや画像ファイルなどができることを確認

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

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

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

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

    * .eeg ファイルによっては「灰色」の表示しか出ない場合がある

    pview <ファイル名>
    

    実行例

    * マウス操作

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

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

Wavefront OBJ 形式ファイルの表示

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

    説明のため Wevefront OBJ形式ファイルを使う. この資料で使用している Wevefront 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. 実行する.
  5. Python プログラムの実行

    Python プログラムの実行

    Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利である.

    Python のまとめ: 別ページ »にまとめ

    python
    

    実行結果例

    * マウス操作

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

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

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

  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. Python プログラムの実行

    Python プログラムの実行

    Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利である.

    Python のまとめ: 別ページ »にまとめ

    python
    

    実行結果例

    * マウス操作

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

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