2012年

2月

03日

PmdForCollada 新バージョン更新予告

mmdモデルをアニメーション付きCollada(.dae)に変換するツール「PmdForCollada」。もうじき新バージョンがリリースできそうなので仕様・編集点の報告をしておきます。

 

・リリースバージョンについて

必要なものが多い&動作しない環境が多いという問題があるので、以後XNA版のリリースはやめようかと思います。かわりにSlimDX版、そして新たにOpenGL版を追加しました。

 

また、新たに『モデル表示画面』を追加してモデルがどのようになっているのかPMDEditorを使わずに確認できるようなりました。主に表情切り替えの結果を確認するために使用します。画面右上の真四角のエリアです。

 

モデル表示をしなくてもかまわない、現行の状態でかまわない、モデル表示画面が起動しない人向けにモデル表示画面を使用しないタイプも用意しています。

 

バージョン名 動作環境 その他
XNA版 DirectX Enduser Runtime(June 2010)
XNA 4.0
.NET Framework 4
XNA Framework Redistributable 4.0
シェーダー2.0以上に対応したGPU
環境さえ整えば一番安定
廃止予定
SlimDX版 DirectX Enduser Runtime(June 2010)
.NET Framework 2(動かなければ4まで導入)
DirectX 9.0環境で動作
OpenGL版 DirectX Enduser Runtime(June 2010)
.NET Framework 2(動かなければ4まで導入)

※SlimDX版が重い人向け

 

Tao Frameworkを使用
行列計算にSlimDXを使用

描画はOpenGLの機能を使用

モデル非表示版 DirectX Enduser Runtime(June 2010)
.NET Framework 2(動かなければ4まで導入)
とくになし

・PMD拡張データ読み込み

英文表記・独自トゥーンテクスチャ・剛体情報のこと。データの読み込みはできてる。

Colladaの剛体書き出しの仕様がまだわからないので保留。

・PMXフォーマット読み込み対応

  今回の更新におけるメイン機能。

・Collada書き出しの高速化

特にアニメーション書き出しを高速化。

・その他

必要のない機能を幾つか削除してます。

こんな感じです。

 

今回の開発で起動に必要なものを把握することができました。XNAはゲーム開発には適してはいますが、ゲーム以外のアプリケーションを作るとなるとちょっと不便ですね。どうしても他のアプリケーションとの連携が必要になります。その点SlimDXはゲーム以外のアプリケーション開発にも適してますね。

 

リリースは一週間以内になると思います。気長にお待ちいただければ幸いです。

 

最後に今回の開発で陥った問題を1つ。

net40向けSlimDXでアプリケーションを作成する場合は注意が必要です。

 

前回まで.Net4対応のSlimDXを使ってたのですが、.Net Framework4と最新版のDirectX エンドユーザーランタイムを導入していてもSlimDXが原因で動かなくなる現象が起きることがあります。SlimDX.Vector3やSlimDX.Matrix構造体の変数をソースのどこかで定義すると強制終了です。

 

原因がわからずに調べ続けること4日。

SlimDXの公式ページでこのような文章を発見しました。

「The 4.0 runtime is not available for this version. It will be available with a December 2011 update.」


「. NET 2.0用のエンドユーザーランタイムは用意してるけど .NET 4.0向けのエンドユーザーランタイムはないです。2011年12月の最新版で利用できるようになるよ。」とのこと。

ちなみにSlimDX 2012年12月版はリリースされてないみたいです。

 

この文章を読んだあと、おもむろにSlimDXを.Net 4.0から .Net 2.0へと入れ替えたら他のPCでも問題なく動くようになりました。

 

確認してないので推測なのですが、おそらく.NET 4.0版のSlimDXを利用するにはDirectX エンドユーザーランタイムだけでなく最新版のDirectX SDKも必要なのだと思います。開発用PCと実行テスト用PCを比べてみても、違いはDirectX SDK June 2010がインストールされてるかだけでした。

 

でもDirectX SDKって開発者用ですし、起動するだけなら本来は必要がないはずですよね?極力余計なものはインストールさせたくありません。なので.NET 4.0の使用は控えようと思います。エンドユーザーランタイムがリリースされるかどうかわかりませんが、当分は.NET 2.0のSlimDXを使って開発を進めるのがよさそうです。

 

GTAViewerでもSlimDX .NET 4.0番使ってるのでコチラモ入れ替える必要がありますね・・・はたして.NET 2.0版でも動いてくれるだろうか?


追記1

SlimDXを使ってる講座を色々とめぐってみましたが、皆さんSlimDXと一緒にDirectX SDKもインストールしてますね。まぁ開発側は必須なので当たり前ですけど・・・

 

SlimDX と C# で学ぶ DirectXではDirectX SDKのインストールが推奨されてますが、これはあくまでのチュートリアルやサンプルを動かすために必要とのこと。必ずしも必要ではないらしいです。

 

でも多分これがないと.Net 4.0版は動かないし・・・よくわからん。

 

追記2

2月4日に公式から.NET 4.0向けのエンドユーザーランタイムがリリースされたみたいです。SDKも新たに「January 2010」へ更新されたようです。

 

今回の更新で.NET 4.0版でも問題なく動いてくれたらいいのですが・・・というか動作してもらわないとGTAViewerがまずい!

 

とにかく早急に確認してみます。