dim3(Dimension 3 )は 海外製のオープンソース の3D FPS系エンジンです。パッケージはエンジン 、アニメーター 、マップエディタ の3つから構成されています。
三次元空間に配置されたオブジェクトにそれぞれ関連づけられた複数のスクリプト(javascript)が実行可能です。
2012年7月時点の状況。
現在 v0016、MacOSX版と、Windows版がまだ開発中で、マップエディタのインターフェースのほか、アニメーションエディタのインターフェースも変化している、仕様も昔とは全く別のものとなっている。
ツールのインターフェースは、3Dオブジェクト一覧が選びやすくなってたり、プロパティが見られるようになっている。
一番大きな変化はttf フォントによる文字描画で、Chooserやオプション設定画面はきれいな文字で描画されている。
また、サンプルを見ると、3Dオブジェクトとダイアログを表示させたり、オブジェクトの上にフローティングテキストを表示できるよようになっている
しかし日本語フォントは未対応、ためしにInterface.xml のフォントタグに日本語フォントを指定したところ、英語以外の文字はグリフが見つかららず四角に×印の文字化けとなってしまった。
2011年11月時点の状況。
ver3でβ番号が大きくなりすぎたため、バージョンナンバーの付け方を変更し、 v0001 をスタートになりました(現在v0006)。
将来的にApp Storeを想定して開発中らしい。現在MacOSX(おそらく10.5以降) とWindows版の両方が存在します。
dim3 Setup.app が追加されて、開発者がXML編集する際の負担がいくらか軽減されました。
MacOSX 10.5で、EditorとAnimatorが起動しないバグがdim3 v0006 でやっと直りました。
まだまだβ版で、アップデート仕様変更が頻繁なので、仕様が安定するまで様子見るか、短時間で思い切って作りきるか迷う所です。
最新版に対応した日本語マニュアルは、まだありません。
ちなみに、オライリーの「Unityによる3Dゲーム開発入門」(第14章 p388)によると、Unityではv3.4現在、Win/Mac両対応のゲームを作成できますが、 ネットワークマルチプレイヤー対応のゲームを作る場合は、Pro版(有料)を購入しなければいけません。アセットストア等間口の広さやUIのわかりやすさは、Unityのほうに軍配があがります。
以下古い記事。
現在 v3.0が開発中です。ベータ版なので、仕様が変わる事があります。
エディタとアニメータは MacOSX版のみ提供(Universal Binary 対応)
Windows版はサーバ、エンジンを含むランタイムがあります。 /Linux版はエンジン(ソースコード)のみ提供とのこと。(v2.0)
入手と配布元
Klink!Software dim3の配布元 (英語)
SVNリポジトリに、入手可能なソースコードが公開されているようです。(コード閲覧やダウンロードにはSVNクライアントが必要です。)
正式リリース時では、バイナリ版も用意されますが。それ以外に開発途上版のソースコードを入手する方法もあります(プログラマ向け)。
Mac OSX 10.5.8 環境で、Xcode 3.0 等のdeveloper Toolをインストールしていた場合、
以下のコマンドをターミナルから打ち込めば、SVN経由でチェックアウト(ダウンロード)することでソースコードを取得できます。
次の例ではデスクトップフォルダに作ったdimsvnという名前のフォルダ内に取得したソースが保存されます)。
cd ~/desktop
mkdir dimsvn
cd dimsvn
svn checkout http://dim3.googlecode.com/svn/ dimsvn
WinBuild, UnixBuild フォルダもあります、興味ある人は覗いてみよう。
(v2.x 時点の動作環境)
/ | Editor | Animator | Server | Engine | 動作環境 |
MacOSX | OK | OK | OK | OK | OS X 10.3.9以降、256MB RAM, G4 500MHz(Intel/PPC)以降,QuickTime6.4以降, 32MB OpenGL対応グラフィックカード |
WindowsXP | ---- | ---- | OK | OK | WindowsXP, 512MB RAM , 500MHz , 32MB OpenGL対応グラフィックカード |
Linux | ---- | ---- | (Source) | (Source) | ??? |
(Windows版は VS C++ 6.0環境 でビルド可能らしい。 使用ライブラリは SDL、OpenGL, OpenAL, libpng, SpiderMonkey,GLEW,X11など)
dim3 を使用した作品
Awnee: xRacing :
カートを使った3D レーシングゲーム。
Blood_rush :
自機が白血球の、シンプルなシューティングゲーム。体内の血管トンネル内を進み、ビームで対応する色のウイルスを殲滅していきます。マウスホイールを回すか、E キーで、3色のビームを切り替え戦います。
ラズの羊番 : 羊番の少女ラズが活躍するTPS( 3rd Person Shooting)。 数種類のゲームに挑戦することができます。難易度は高めで、練習用マップも用意されています。コスチュームによって使える能力が変化します。システム面でも興味深くペットを使ったオブジェクトの誘導。風車小屋防衛戦、コスチューム変化、 RTSは複数のペットへの命令と、シングルプレイのゲームながらも、3D TPS系MMORPGにも見られる要素もいくつか実装してます。
操作キーは制作者側で自由にカスタマイズ可能ですが、実際の作品をみると基本的な移動はasdw、マウス移動で視点変更、数字キーやマウスホイールで武器切替えするものが多いです。
dim3 Editor のソースから派生したもの
dim3 Inspire
ソースコードをもとに派生したアプリケーション。いくつかの機能が追加されている。この派生版は、開発が停止してから(2006年)かなりたっているので、出力したdim3形式データに互換性がない場合があります。
長所と短所
オープンソースで開発されています、ただし市販ソフト(UnityやTorque)のように高機能というわけではありません。
フルスクリーン画面のみ対応Editorからテスト実行する場合はウインドウモードで起動する。v2.xから可能に
データはXML、スクリプトはJavaScriptを使っているのでとっつきやすい?
日本語入力/表示は全く対応していない。画像化したフォントがアルファベット大文字小文字と数字、記号のみあります。
エディタ、アニメータはOSX版のみ付属
マップエディタの3D表示モードでは、真横、真上からは編集できないので正確な移動が難しい。 v3.0から可能に
ロック機能がないので、間違って他のセグメントを触ってしまうことがある。 v3.0 から、エディタにテクスチャや位置のロック機能が付きましたが、思うように選択できないこともある。
SDLを利用しているので、他OSへ移植しようと思えばできる!?
対応するGLSLのシェーダは開発途上(チュートリアルが無い)。
公式以外のドキュメントやチュートリアルが少ない (英語) Wikiとかある。
リソースデータが丸見え。ただしOSX環境ならアプリケーション内の .App/Contents/Data にリソースをすっきり収めることもできるそうです。
アプリケーション本体の日本語ローカライズはしてません。(Japanese localizing is not yet)
v3.0はベータ版なので、ころころ仕様が変わる事があります。
■dim3 v3.0 開発進行版の EditorとAnimator のインターフェース
Editor v3.0 のインターフェース(※PDF形式)
3.0 Beta14から、エディタでのView>WireFrame 4分割の右下、View>Forward Only モードでの視点操作が変化
- Command キー+ドラッグ :水平360度、垂直60度までの視点変更が可能になっています。(視点変更コンパスが廃止)
- Spaceキー+ドラッグ:上下左右スクロール
- Option(alt)キー +ドラッグ:前後ズーム
■dim3 v3.0b13ドキュメント日本語訳 (bはベータ版の意)
ダウンロード
前バージョンのシステム概略。シェーダ、スクリプトのリファレンスは役立つかもしれない。
dim3 v2.3b8 ドキュメント日本語訳+αダウンロード
dim3 v1.6 ドキュメントと、チュートアリアルダウンロード(2.4MB, ONLY dim3 Tutorial& Documentation for Japanese!!)
日本語訳の公開にあたり 、マニュアルに使われているスクリーンショット等の画像の使用について
dim3作者の Brian氏 に許可を頂きました。
快諾して下さったBrian氏に感謝いたします。
英文ドキュメントだけでは足りない部分を補足する形で作った文書。ただし対応バージョンが古いです。
チュートリアルダウンロード
3D モデルの読込み
|
3Dモデルは、モデラー(Lightwave や maya, Wings3D, ArtofIlusion など)で作成しておきます。
それを dim3アニメーターで読込ませ、Animator上でボーンやアニメーションを作成すると、自作の3Dモデルをゲームのキャラクターとして登場させることができます。
アニメーターで読込可能な 3Dモデルの形式はMeshwork( .mesh )形式と LightWave(OBJ)形式です。Cinema4DのXML形式も読込めるらしい。
(読込みするには、 obj , mtl , png の各ファイルがそろっている必要があります。)
読込んだキャラクターやオブジェクトに、ボーンやポーズ、アニメーションパターンを追加できます。
カメラは、プレイヤー追尾、一人称視点、固定カメラなど、複雑なカメラワークも作成できます。
また、MAP上に、スイッチや、リフト、自動ドアなどの仕掛けを盛り込むことも可能です。
これらはdim3に組み込まれたスクリプトと XMLによって制御可能です。
注意
※dim3のデモ用ゲームで使われている画像、音楽、3Dモデル(JoeFoe(ガイコツ敵キャラ)やプレイヤー、武器、木など)、これらのデータは作者が存在します。これらはdim3デモのために提供されたものなので、自作ゲームを作る場合には素材の流用はしないで下さい。(dim3の文書より) デモに収録されているスクリプトに関しては、自由に改変してもらって構わないとのことです。
dim3のテクスチャはPNG形式のみ使えます、もし他形式の場合は モデルを作成後に、 テクスチャ画像をpng形式で保存し直して、dim3アニメータでテクスチャを読込む際にそのpngファイルを選択して下さい。
|
スクリプトについて
dim3 v3.0系 では、JavaScriptエンジンが、Safariでも使われている Nitro に変更になったようです。
dim3 v2.0系 ではゲームの制御にJavaScript1.6を使っています。(スクリプトエンジンはSpiderMonkeyを採用しています。)
JavaScript基本機能が使える他、dim3専用の定数、関数(ウェイト・タイマー処理 , GUI 、カメラ、モデル操作関数 )が用意されています。
スクリプトは、デモという形で動くサンプルがあり、それを元にカスタマイズしていきます。
dim3専用の定数、関数についてはリファレンス(英語)を参照下さい。