Unityの拡張エディタとしてのモーション変化設定エディタです
単純構造 2階層(モーション変化前とモーション変化後の2階層)のツリービューで設定するのが特徴です
モーション入りfbxやVRMにUnity上でモーション変化設定
Unityの物理やMechanimとの共存可能
ゲーム作成用
MITライセンスです
どうしてツリービューなのか?どうして2階層なのか
モーションの変化モーションの切り替えとは
いつでも
変化前モーションとイベントと変化後モーションの3要素。
(言い切ったった)
(。が付いてるし大丈夫でしょ!?)
つまりはモーションの変化切り替えの設定としては
変化前モーション名と変化後モーション名の2階層ツリービューにイベントプロパティが付いていれば良い
これは体の部位ごとに異なるモーションをさせるような設定にも拡張可能
(実際にRokDeBone2ではmoa(モーションアクセラレータ)に対するmoeとして機能を作成)
後はイベントをプログラミングすればそれはゲームである。
そういう考えにより今回のエディタ拡張は出来た
キーボード入力をイベント番号に変換するプログラム付き
動画1(ショートver):uMotTreeEditorでモーション変化設定(デフォルト設定でキー入力してテストした動画)
![]() 図1:uMotTreeEditorでアセット作成したときのツリーの様子 |
Unity上にて Hierarchyのモデルデータを選択してから UnityのメニューからuMotTreeEditorのアセットを作成 作成すると何もしないでも図1のUnityのInspectorのように モデルデータに対応付けられている全てのモーション(idleモーション必ず含む)に対して モーション変化の設定がなされる ツリーの上部のボタンによって モーション変化を増やしたり減らしたりすることが出来る モーション変化の際のブレンド時間については ツリー中のスライダーGUIによって個別に設定可能 idleモーションへのブレンドタイムについては コンポーネントの変数数値としてGUIで設定可能 図1のデフォルトの状態でキーボードの1,2,3をテキトーに押すと 動画1のようになめらかにモーション変化する 動画1に示すように同一モーションに対してもなめらかに変化する |
昔々、RokDeBone2のモーションアクセラレータ(moa)という機能を作りました
モーションの変化の仕方の設定に関するものです
この過去の資産をこれからのUnity利用に使おうというところから始まりました。
ついこの前も更新したEditMotについても
複数のモーションを1つのfbxに格納できるものの
その変化の仕方の設定がぁーという状態でした
RokDeBone2のmoaファイルに対応すれば古い資産には対応できますが
これからのことを考えてmoa読み込みだけではなく編集機能も付けることにしました
これからは仕事もC#を使うものが増えています
一番の理由はその就職準備だったりします
![]() |
動画をみれば分かると思いますので
とりあえず
説明が必要だと思われる部分だけ解説
図1 uMotTreeEditorでモーション変化の設定 イベント番号はキー入力と対応している
Write CSボタンでMotTreeEditorのアセットで設定した内容がChangeAnimTest.csに書き出されます
このChangeAnimTest.csをAssetフォルダにドラッグアンドドロップします
そしてAssetのChangeAnimTest.csをHierarchyのモデルデータにドラッグアンドドロップしてコンポーネントとして追加します。
ChangeAnimTest.csの中でイベント番号をキー入力に対応付けています
この辺りはお好みのイベントに対応付けし直すのも良いでしょう