python-ogreの開発環境整備 for Windows

3Dレンダリングを用いた開発環境の構築

tags:python, 3d, tips
created:2007-09-04T10:45:25

python-ogreのインストールと開発環境の構築

python-ogreとは?

元となるOgre3Dは表示に特化したライブラリなのですが、 最近各種プラグインが充実してきていて、その恩恵をほぼ引き継いで Pythonから利用できるようにしたものが「python-ogre」なのです。

OpenGLとDirectXの統合

Ogre3Dの特徴を挙げていきますが、 最も特徴的なのは、OpenGLとDirectXを下位レイヤとして隠蔽したAPI設計です。

つまり、ユーザーは下位レイヤとしてOpenGLとDirectXの 好きな方を選択できます。

プラグインスタイルによる高い拡張性

OpenGL、DirectXのレンダリングエンジン依存もプラグインによる 拡張ランタイムで実装されているので、 また別のレンダリングエンジンサポートもプラグインの作成により提供することができます。

高度なリソースマネジメント

この手合いのアプリ構築って、どうしても冗長なデータを持ちすぎたりということは多々あります。 マテリアルなんて複数のモデルで共通して使うことは多いのですが、 自前でこれらの管理をするのは大変なのでついつい冗長にビデオメモリに展開してしまいがち。 リソース管理機能が最初から持っていることで自然と大幅な省資源化につながります。

注釈

Windowsリソース管理でも同じことが言えます。 例えばフォントオブジェクト。複数のコントロールに割り当てる時、 同じフォントを選んでいたとしても、 ついつい新しいフォントオブジェクトを作ってしまいがち。

手前管理とフレームワーク管理では確かに 手前管理を注意深くやったほうが省資源アプリを構築できます。 しかし、ある程度複雑なアプリレベルになってきたとき 注意深く管理しきれなくなりますので、 結果的にフレームワーク管理を利用したアプリの方が省資源になります。

ハイレベルAPIセット

パーティクルシステム、投影後処理のコンポジター、シェーダー言語との統合 2D描画専用のオーバーレイ、リソースマネジメント機能、スキンアニメーション、 これらの機能が汎用性を重視して設計されています。

設計思想としては、あらかじめ準備できることはすべて定義させるというものがあるようです。 特にオーバーレイやフォント周りはこのあらかじめ使用するリソースを宣言させることで、 描画に関わるボトルネックをうまく回避しています。

低オーバーヘッドはあえて狙わず、しっかりしたアプリを構築する時の 負荷増大を最小限に抑えることを狙っているように思います。

Python3Dエンジン比較

オールインワン系の他の選択肢として、

などが活発に開発が続いているようです。

これらは、サウンドや衝突判定、アニメーションなどを統合した環境なので、 統一されたAPIセットということで、学習が容易なのがウリです。

PySoyはSoya3Dのフォークしたプロジェクトです。 Panda3Dはカーネギーメロン大とディズニーの共同開発。 どちらも設計上もともとオールインワンを狙っているので統一性は高いです。 残念なのはどちらもOpenGLオンリーですね。

プラグインの紹介

3Dサウンドエンジン「OpenAL」
DirectSoundのような3Dエフェクト付きサウンドストリームエンジン。 「ogg」フォーマットをメインに扱います。
入力デバイスエンジン「OIS」
「ObjectiveInputSystem」で、フォースフィードバックやジョイスティック、マウス、キーボード などのデバイスの状態取得などの機能を提供します。
物理演算エンジン
現状5種類「ODE」「Newton」「bullet」「PhysX」及び「OgreODE」があります。 「Newton」と「OgreODE」はOgreオブジェクトとの同期機能があります。
GUIエンジン
Ogreの機能を利用したGUIコントロール群が一通りそろっています。

スクリーンショット

環境キューブマップ
../../../_images/ogreenv.png
GUI
../../../_images/ogregui.png
Newton物理エンジンデモ
../../../_images/ogrenewton.png

セットアップ

インストーラダウンロード

このインストーラーを実行すればデモ実行に必要なものはすべてインストールされます。

  1. デモ&メディアファイル群インストール
  2. ランタイムインストール
  3. Pythonモジュールインストール
  4. VCランタイムインストール
  5. DirectX9.0 Web経由インストール

「1.」「2.」は「C:\PythonOgre」にインストール。 「3.」はPythonライブラリフォルダにインストール。 「4.」「5.」はWindowsシステムフォルダにインストールされます。