Panda3D とは|Python で3Dのゲームを書ける無料のエンジン
Panda3D は、3Dのゲームや可視化・シミュレーションを作るためのオープンソースの枠組みです。中心は移植しやすい C++ で書かれていて、Python からも使えます。エンジンそのものは完全に無料ですが、無料のソフトウェアでない第三者のライブラリがいろいろ付いてきて、その一部(FMOD など)は、ライセンスを受けた複製を持っていないと商用のゲームで使うことさえ制限されます。
- 分類
- ゲームエンジン・フレームワーク
- 日本語対応
- 日本語非対応
- 費用
- 無料
- 公式サイト
- https://www.panda3d.org/
Panda3D の概要
Panda3D は、3Dの描画とゲームのためのオープンソースの枠組みです。実時間で動く3Dのゲーム、可視化、シミュレーション、実験などのためのエンジンです。
配布されている SDK の版は 1.10.16 です。
Panda3D の特徴
Panda3D が扱う次元
Panda3D は3Dのエンジンで、3Dの描画とゲーム開発のための小さな処理の集まりです。いまも商用のゲームの開発に使われています。
Panda3D には、場面グラフの閲覧・性能の監視・アニメーションの最適化などのツールが入っています。
Panda3D の使用言語
本体は C++ で、これに Python の接続部(バインディング)が付きます。Panda3D での開発は、ふつう Panda3D のライブラリを動かす Python または C++ のプログラムを書く形になります。マニュアルは Python 向けと C++ 向けを切り替えて読めます。
Panda3D は、決まりきった前置きのコードも複雑な初期化のコードも要りません。
Panda3D が標準で使える機能
Panda3D が扱う機能には、次のようなものがあります。
| 区分 | 機能 |
|---|---|
| 場面の組み立て | 場面グラフ、モデルのファイル、インスタンス化、詳細度(LOD)、アニメーションするモデル、関節の操作など |
| 描画の設定 | ライティング、材質、深度の判定、霧、アルファの判定、アンチエイリアス、クリップ面、面の裏表の除去、遮蔽の除去、ステンシルなど |
| テクスチャ | 大きさの選び方、繰り返し方、フィルタ、複数のテクスチャの重ね方、3Dのテクスチャ、キューブマップ、自動のアニメーション、MPG と AVI の再生、圧縮など |
| シェーダー | GLSL と Cg の入力の一覧、座標系、シェーダーの自動生成、コンピュートシェーダーなど |
| カメラ | 既定のカメラの操作、レンズと画角、平行投影 |
| 音 | 音と音楽の読み込みと再生、オーディオマネージャー、DSP の効果、3Dの音、複数チャンネルなど |
| 動きの組み立て | 各種のインターバル(補間・関数・アクター・音)、並びと並行、モーションパスなど |
| タスクとイベント | タスク、タスクチェーン、イベントハンドラ、コルーチン、メインループ、スレッド |
| GUI | 文字の描画、画像の描画、DirectGUI の部品(ボタン・チェック・ラジオ・ダイアログ・入力欄・枠・ラベル・選択メニュー・一覧・待ちバー・スライダー・スクロールバー・スクロールする枠)など |
| 地形 | ハイトフィールドのテセレータ、幾何のミップマップ |
| 描画の流れ | テクスチャへの描画と後処理、動的なキューブマップ、複数スレッドの描画、グラフィックスパイプ、窓とバッファ、表示領域、立体視の表示領域、複数パスの描画、描画の順序の制御など |
| パーティクル | パーティクルのパネル、読み込み、ファクトリ、エミッター、レンダラーなど |
| 当たり判定 | 判定の立体、ハンドラ、エントリ、トラバーサー、ビットマスク、速く動く物体、3Dの物体のクリックなど |
| 機材の対応 | キーボード、マウス、ジョイスティック |
| 物理 | Panda3D 自前の物理エンジン、Bullet(形状・フィルタ・連続判定・キャラクターコントローラー・拘束・車両・ソフトボディなど)、ODE |
| ネットワーク | データグラムのプロトコル、クライアントとサーバーの接続、データの送受信、ファイルの取得、分散のネットワーク |
| 経路探索 | PandAI(向かう・逃げる・追う・かわす・さまよう・群れ・障害物の回避・経路追従・経路のメッシュの生成など) |
Panda3D が読み込める形式
対応するモデルの形式には、Egg や glTF などがあります。Egg のファイルは Bam へ変換でき、プログラムから Egg のファイルを操作する API も用意されています。
3Dのソフトからの変換は、Blender・Autodesk Maya・3ds Max のそれぞれについて節が置かれています。モデルの下見には pview というツールを使います。
Panda3D の拡張と外部のライブラリ
Panda3D には、次のような仕組みもあります。
| 項目 | 中身 |
|---|---|
| 素材の扱い | 元の素材を処理して最適化するコマンドラインのツールが付いていて、素材を作る流れを自動化し、スクリプトで組めます |
| 外部の部品との接続 | Bullet(物理演算のエンジン)、Assimp(3Dモデルの読み込み)、OpenAL と FMOD(音の再生)などにそのまま対応しています。FMOD は、ライセンスを受けた複製を持っていないと商用のゲームで使うことさえ制限されます |
| 広げやすさ | 低い層の描画の部品をすべてアプリケーションに見せています。独自の描画の手法と描画の流れを作れます |
| 速度の計測 | pstats という、ネットワーク越しに計測する仕組みが付いています。1フレームの時間が1ミリ秒ごとにどこで使われたかを見られます |
公式マニュアルには、外部の部品とそのライセンスの情報をまとめた節も置かれています。
Panda3D の動作環境
中心は移植しやすい C++ で書かれていて、その環境向けの対応のコードと合わせれば動きます。公式マニュアルには、Windows への導入と Linux への導入の手引きがそれぞれ置かれています。
SDKとは
ソフトウェア開発キットのことです。作るのに必要な部品・ツール・説明をひとまとめにしたものを指します。
SDK の安定版は 1.10.16 で、2025年12月25日に公開されました。開発中の版を試すためのプレビューのビルドも別に置かれていて、これらのビルドは安定しないことがあります。.p3d のファイルを動かす Panda3D Runtime は非推奨になっていて、過去の版は保管の置き場で見られます。
Panda3D の費用とライセンス
Panda3D のエンジンそのものは、完全に無料です。ただし、無料のソフトウェアでない第三者のライブラリがいろいろ付いてきます。その一部(FMOD など)は、ライセンスを受けた複製を持っていないと、商用のゲームで使うことさえ制限されます。FMOD の代わりに使える OpenAL も付いています。
Panda3D のライセンスは修正BSDライセンスです。著作権の表示は2008年の Carnegie Mellon University です。
ソースとバイナリの形での再配布と利用は、改変してもしなくても、次の条件を満たす場合に限り認められています。条件は、ソースコードを再配布するときは著作権の表示・条件の一覧・免責の文を残すこと、バイナリの形で再配布するときは同じものを、配布物に付ける説明書かその他の資料、またはその両方に載せること、そして事前の個別の書面による許可なく、Carnegie Mellon University の名前も他の貢献者の名前も、派生した製品の推薦または宣伝に使わないことです。
| 項目 | 内容 |
|---|---|
| ライセンス | 修正BSDライセンスです |
| 著作権の表示 | Carnegie Mellon University(2008年) |
| ソースで配るとき | 著作権の表示・条件の一覧・免責の文を残します |
| バイナリで配るとき | 同じものを、配布物に付ける説明書かその他の資料、またはその両方に載せます |
| 名前の扱い | 事前の個別の書面による許可なく、派生した製品の推薦または宣伝に Carnegie Mellon University の名前も他の貢献者の名前も使えません |
公式サイト panda3d.org の「Get the SDK」から入手します。
公式サイトには機能の一覧、手引き(Manual)、コミュニティ、ブログの区画が置かれています。
- Panda3D の公式サイトhttps://www.panda3d.org/
情報源
- Panda3D — 公式サイト(3Dの描画とゲームのための枠組みであること・無料であること・SDK の版)https://www.panda3d.org/確認日 2026-10-09
- Features — Panda3D 公式(移植・素材のツール・外部の部品・pstats・前置きのコードが要らないこと)https://www.panda3d.org/features/確認日 2026-10-09
- License — Panda3D 公式(修正BSDライセンスの全文・著作権の表示・再配布と利用の条件)https://www.panda3d.org/license/確認日 2026-10-09
- Introduction to Panda3D — 公式マニュアル(3Dのエンジンであること・C++ と Python・入っているツール・エンジンそのものが無料であることと第三者のライブラリの条件・Windows と Linux への導入)https://docs.panda3d.org/1.10/python/introduction/index確認日 2026-10-09
- Panda3D Manual — 公式マニュアルの目次(章立て・機能・Python と C++ の切り替え・変換と下見・外部のライブラリ)https://docs.panda3d.org/1.10/python/index確認日 2026-10-09
- SDK Downloads — Panda3D 公式(安定版と公開日・開発中の版・非推奨の Runtime)https://www.panda3d.org/download/確認日 2026-10-09
- Supported Model Formats — Panda3D Manual(対応するモデルの形式・Bam への変換・Egg を操作する API)https://docs.panda3d.org/1.10/python/pipeline/model-file-formats確認日 2026-10-09
- Playing MPG and AVI files — Panda3D Manual(テクスチャとしての動画の再生)https://docs.panda3d.org/1.10/python/programming/texturing/playing-mpg-and-avi-files確認日 2026-10-09