
かなり久しぶりの更新となってしまいました。日経ソフトウェア最新版からPythonで3Dゲームを作ってみようという企画です。
インストールしてみる
ソリューションのpython環境を右クリックして、すべてのpython環境を表示
matplotlib
のときと同様に
それならば、python環境を右クリックして、panda3dと検索窓に入力。すべてのpython環境を表示の下のほうに出てくる、

次のコマンドを実行する pip install panda3d をクリック
できたみたいです。
続けて、サンプルプログラム集をダウンロードします。

Download SDK 1.10.11 | Panda3D
インストーラーを展開していきますが、すでにpythonは入っているので、チェックを外しておきましょう。

早速書いてみる
from direct.showbase.ShowBase import ShowBase
class MyGame(ShowBase):
def __init__(self):
ShowBase.__init__(self)
self.cube1 = self.loader.loadModel("models/misc/rgbCube")
self.cube1.reparentTo(self.render)
self.cube1.setScale(1,1,1)
self.cube1.setPos(0,5,0)
self.cube1.setHpr(45,0,90)
game = MyGame()
game.run()
サンプルプログラム集をインストールした箇所が勝手に指定されるので、models以下は相対パスでいいみたい。開発して配布するときどうするのかは今後調べましょう。
とりあえず動かしてみる。

できた。
いろいろいじってみる
当たり判定も簡単にできるみたい。昔はC++で3次元の演算して想像しながらゴリゴリかいてたなぁ。

サンプルには、ビー玉迷路もあるみたいです。
まとめ
3Dも簡単に書ける時代になりました。でもやっぱり数学は勉強しないといけないです。