Autodesk FBX SDKとOpenGLによるユニティちゃんのアニメーション
ramemisoさんのブログ内の
『ユニティちゃんのゲームをUnityを使わずにOpenGLで作る[1]:モデル表示してアニメーションまで』
で解説されている、ユニティちゃんのアニメーションを表示するiOSアプリを、
Windows+Java環境に移植改造してみました。
[iOSアプリのソフト構成]
Objective-C <- C++ Class <- Autodesk FBX SDK <- fbx files
Objective-C -> OpenGL ES 3.0 + GLSL -> display
[移植改造後のソフト構成]
Java <- JInvoker x64 <- VC++ ラッパーDLL <- Autodesk FBX SDK(static link) <- fbx files
Java -> JInvoker x64 -> OpenGL 3.3 + GLSL -> display
JInvoker x64を使って、Autodesk FBX SDKを静的リンクしたラッパーDLLをJavaから呼び出して、
ユニティちゃんの3Dモデルデータが入ったfbxファイルを読み込みます。
また、OpenGL+GLSLを呼び出して、ユニティちゃんのアニメーションをJavaの画面に表示します。
OpenGLのAPI(DLL関数)の呼び出しをラッパークラスにまとめました。
アニメーションの拡大縮小、上下移動、スローモーション、停止再開、自動回転ができます。
ボーンウエイトを4個から8個に拡張して、モデル製作者が設定した動作を忠実に再現します。
(ユニティちゃんの3Dモデルのボーンウエイトの最大数は6個です。)
シェーダプログラムは2本から1本にマージしてプログラム切り替えのオーバーヘッドをなくし
ました。
ソフト名: | JInvoker x64 Sample#4 |
---|---|
動作OS: | Windows 8/7 |
機種: | IBM-PC |
種類: | フリーソフト |
作者: | Quinos |