2012年5月27日日曜日

BulletSharpの衝突設定3

引き続き物理演算周り

調査中に「物理+ボーン位置合わせ」の剛体が
機能していないことを発見したので修正に掛かる

「物理+ボーン位置合わせ」とは
物理演算による移動回転をボーン座標上に固定する。

普通に物理演算した状態をボーン座標に平行移動した状態です

グローバル変形を求める際に子ボーンに連鎖するので
親ボーンから順に計算する必要があります。

物理変形の計算はGPUでいいかなと思っていたのですが
CPUにごっそりお引越ししました。

スキニングテクスチャで渡している値も必要ないものは削除しないといけませんね

で、この修正を加えた結果
どこかに消えていたリボンとスカーフが戻ってきました。
まだ非数値なので固定状態のままですが。


それにしても
このモデルに限ってこんな状態になるので
正常動作するモデルと数値比較してみたほうがいいかもしれませんね


原因判明

508リンを上手く読み込めない原因
「150左エリ」の親の「149左エリ連D」の付与親の「188左エリ連」で
処理順が149→150→188だから188の値が149に付与されないせいで
150の初期姿勢が不正になって剛体初期値が不正になると

グローバル変形を2周すれば回避できるけど
ボーン処理順の正規化するロジックが欲しいですね

ともあれ、このおかげでいろいろ不備が見つかったのでよかったです



積んでるタスク

1.3Dプログラミング基礎
高速化
物理演算
MMDと比べて重力の影響が大きいのはバージョンの違いなのか実装不具合なのか
ver2.8を入れてみる
並列化の検討 もっといい方法はないか
MMDXのエッジを見る
ボーン処理順の正規化検討

2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの

0 件のコメント:

コメントを投稿