Panda3Dというゲームエンジンを用いて、ゲーム開発未経験の状態からPythonでクレーンゲームを一から作成してみました。
この記事では、「Panda3Dで何ができるのか」について、初心者目線で実際に作って感じたことをまとめています。Panda3Dに興味がある方や、Pythonで3Dに触れてみたい方、3Dゲームを作ってみたい方の参考になれば嬉しいです。
はじめに
今回クレーンゲームを作成したきっかけは、社外向けイベントでゲームを展示することになったことです。このゲームは、小さな子どもにも「リアルでの楽しさをデジタルでも体験してもらいたい!」という目的で制作しました。
実際に作成したクレーンゲームは以下のようになっています。

ゲームの基本的な仕様は、実際にあるクレーンゲームを意識して作成し、
- ボタンで右方向と奥方向に1回ずつクレーンを動かす
- クレーンとボールの距離で成功判定を行う
となっています。実際はタッチパネル操作に対応していて、BGMや効果音も加えています。また、練習モードから本番モードへ進むフローも実装しています。
Panda3Dとは
Panda3Dは、PythonとC++で書かれた3Dゲームエンジンです。
今回は、無料かつPythonだけで開発できるという理由で、Panda3Dを選びました。
特徴としては、
- Pythonだけで3Dゲームが作成できる
- オープンソースで誰でも使用可能
- pipでインストールできる
- 3Dモデル表示・アニメーションなどが実装できる
- カメラ機能が搭載されている
などが挙げられます。
特に、pip install panda3dでインストールできるため、Python環境さえあれば気軽に試せることがありがたかったです。
実際に使ってみた印象としては、何もない3D空間にx,y,z座標が設定されていて、そこにオブジェクト(物体)を配置して動かしていくイメージです。
オブジェクト (モデル)
Panda3Dでは、3Dモデルを.egg形式で読み込みます。.eggファイルは、Panda3D独自のファイル形式で、テキストベースの形式となっています。モデルを作成する方法にはBlenderを使う方法などがあるようです。
Panda3Dをインストールすると、いくつかモデルが同封されています。このクレーンゲームでは、同封されていたボール(smiley.egg)と立方体(box.egg)の2つのオブジェクトのみを組み合わせて制作したため、新たに.egg形式のモデルを作成しませんでした。
機能
ここからは、クレーンゲームへの実装有無に関係なく、実際にPanda3Dを使ってみて便利だなと感じた機能を紹介します。
カメラ制御
カメラ機能が搭載されていて、視点を自由に動かせます。前後左右に動かしたり、上下方向に視点を変更したりできます。

照明をつける
公式サイトにあるように、次の4種類のライトがあります。
- AmbientLight
- DirectionalLight
- PointLight
- SpotLight
試しにポイントライトをつけてみると、このように明るさが変わります。

強さや色も調整できるので、照明を使って印象を変えることができます。
影をつける
オブジェクトに影をつけたり、複数の方向からライトを当てたりすることができます。今回のクレーンゲームでは難易度調整などの理由で実装しませんでしたが、つけてみると以下のように表示されます。

おわりに
今回の記事では、Panda3Dを使ってクレーンゲームを作成した事例を紹介しました。
ここまで読んでくださりありがとうございました!