﻿
MMDXの特徴とは？

他のアニメーションライブラリ
XNAnimation Libraryの特徴
・ソースがシンプル
・Shader1.1
・ボーン制限80本
・アニメーションブレンド、オリジナルエフェクト、IKは出来ない

XNA Animation Component Libraryの特徴
・スキニングと非スキニングのアニメーション。 
・複数のメッシュを含むモデル。 
・XMLファイルを使用し、一つのアニメーションを複数に分割することができます。 
・毎秒60フレームのアニメーションを再生できます。 
・fbx、x、asf/amc、bvhのファイル形式を使用できます。 
・Custom ASCII .X インポータは XNA .X インポータが対応していないいくつかのモデルを使用できます。 
・多くのボーンを持つモデル。(一つのメッシュにシェーダの制限数よりも多いボーンを含んでいた場合、複数のメッシュに分割することができます) 
・アニメーションブレンド。 
・それぞれのボーンを異なるアニメーションコントローラに割り当てることができます。 
・ボーンの座標変換を手動で行えます。 
・アニメーションコンテントパイプラインとモデルプロセッシングのためのフレームワークです。 
・カスタム .fx エフェクトを使用できます。 
・DirectXメッシュビューアのようなモデルビューアがあります。 
・ボーンにオブジェクトを関連付けできます。

MMDXの特徴
・MMDのリソースとモーション作成ソフトとしての機能を使える
・アニメーション対応モデルファイルは.pmdのみ。
・アニメーションデータが別ファイルで、好きなモデル、カメラ、ライトでアニメーションを再生できる
・要Shader3.0
・毎秒60フレームのアニメーションを再生可能
・モデル分割は無い
・アニメーションブレンド可能
・カスタムエフェクトは使用不可
・IKボーンがある
・物理エンジン搭載予定
・モデルにアクセサリを付加させることができる
・モデルの表情アニメーションを再現可能

更新履歴
v1.00の次
-処理の高速化
-ライティングをMMDに近づけた(スポットライトだけ未実装)
-モーションのベイク機能実装。パイプラインベイクとリアルタイムベイクの2種が可能
-モーションの回転の補完を間違えてX軸の補完にしていたのを修正
-ベイク前のモーションを再生しないようなエンバグをしていたので修正
-モーションの補完計算のニュートン法にミスがあったため、安全装置も追加して修正
-ループ再生時のモーションを利用したモデル座標系修正機能追加
-カメラにワールド座標系を追加。位置修正を可能に


MMDX周りの技術メモ
ひにけにXNAのTimeRularはXBoxで嘘をつくことがある。Draw内でBeginMarkを呼び出した際に発生。理由は不明
XBoxのGCはマーク&スィープ方式のGC。その為、毎回ヒープオブジェクトをnewしていると、GCが大量発生し、まともに動かない。よって、ヒープオブジェクトのメモリ管理が必要(GCの意味なし)
XBoxのCPUはインテル製のように、シングルスレッドを自動的に割り振ったりとかはしてくれない。
XBoxのCPUは6コア、うち4コア使用可能。性能は4コアフル稼働でCore2Duo2G程度しかない。ボトルネックはCPU
XBoxのGPUは計算速いので、なるべくGPUに計算させる。
