そして、Applet構造体は前回のものも含めて、メンバは以下のようになります。
AEECallback Callback; // ループ処理用にコールバック構造体 uint32 OldTime; // 前回描画時の時間 Imc* pIMC; // エクステンションインスタンス mceGraphics3D *G3d; // Graphics3D mceCamera *Camera; // カメラオブジェクト hi_coord AspectRate; // アスペクト比 hi_coord ViewAngle; // 視野角 hi_coord NearClip; // ニアクリップ hi_coord FarClip; // ファークリップ mceObject3D **Obj3d; // Object3D mceFigure *Figure; // シーングラフのルートとなるmceFigure mceTextureTable *Textbl; // テクスチャテーブル mceActionTable *Acttbl; // アクションテーブル hi_coord AnimeEnd; // オブジェクトアニメーション終了値 hi_coord AnimeCounter; // オブジェクトアニメーションカウンタ
ソース3 Applet構造体 |
cleanup()内については、以下の部分のみ削除します。
mceObject3D_unref((mceObject3D *)pMe->Fig_model) ; //ボックスデータ
ソース4 cleanup()の削除個所について |
前回の立方体のアニメーションに比べると、座標変換の設定を行わずに複雑な形状のモデルデータが複雑なアニメーションをすることが分かるかと思います。実際、コンテンツとして3Dプログラミングを行う場合、表示する3Dデータのクオリティが重要になります。3Dデータを見栄えよくするためにはデザイナーの力が必要になり、そのデータを効果的にプログラムの中で扱うミドルウェアを利用することが、コストメリットを非常に大きくします。
以上で、BREW環境でeruptionを利用する基礎を一通り確認しましたが、eruptionにはさまざまな機能が実装されており、本連載で紹介し切れない部分が多く存在します。そこで、「MascotCapsule Developer Network(以下、MCDN)」のeruption情報について紹介したいと思います。
関連リンク: | |
---|---|
⇒ | MascotCapsule Developer Network |
MCDNでは、MascotCapsuleシリーズのさまざまな技術情報が掲載されており、eruptionに関する情報も多く掲載されています。より深くBREW環境上でのeruptionの機能について知りたい方は、以下の場所にあるAPIリファレンス、プログラマーズマニュアルを参考にするとよいでしょう。
関連リンク: | |
---|---|
⇒ | MascotCapsule eruptionドキュメント類 |
さらに、本連載を踏まえたうえで活用できるプログラミングサンプルがeruptionの機能ごとに用意されています。
関連リンク: | |
---|---|
⇒ | MascotCapsule eruptionサンプル集 |
ここでは各機能のサンプルプログラムの解説およびサンプルソース、データ、プロジェクトを含むデータをダウンロードでき、本連載で構築した環境で実際にプログラムを動作させながら機能を学ぶことができます。このサンプル集を活用することにより、具体的にeruptionの機能を確認し、効率よくプログラムを学ぶことができるでしょう。
また、eruptionには拡張機能として立体視対応の「eruption立体視拡張機能」があります。これは、今回作ったような3Dプログラムの描画を自動的に立体視対応にしてくれるというもので、コンテンツ作成者は特に立体視用に新しくデータを作る必要はありません。
現在の立体視は、基本的に人の左目・右目の視差を考慮した映像を人為的に作り出すことによって、立体的な映像として人に認識させています。このため左目用、右目用の異なる映像を作る必要があるのですが、eruption立体視拡張機能では、これを単一の3Dモデルデータで自動的に作成することが可能です。eruption立体視拡張機能を利用することで話題の立体視コンテンツの開発を簡単に行うことができるというメリットがあります。
本連載はこれで最終回となりますが、eruptionは今回ご紹介したBREW環境だけではなくさまざまなプラットフォームに対応したミドルウェアです。この機会にぜひBREW環境以外の環境でもeruptionをお試しいただければと思います。(連載完)
Copyright © ITmedia, Inc. All Rights Reserved.