本文へスキップ
LABMenu

uMotTreeEditor [Unity,モーション変化設定,Asset,エディタ拡張]


このツールの概要

Unityの拡張エディタとしてのモーション変化設定エディタです
単純構造 2階層(モーション変化前とモーション変化後の2階層)のツリービューで設定するのが特徴です
モーション入りfbxVRMUnity上でモーション変化設定

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に示すように同一モーションに対してもなめらかに変化する


YouTube 説明動画 フルver.



具体的に噛み砕いて書くと
イベント番号(キー入力)との対応でモーションが変化
モーションの再生が終わるとアイドリングモーションへ変化
モーション再生が終わる前にキー入力が有った場合には指定モーションへブレンドしながら変化
というベーシックな変化の仕方をします
2階層ツリービューで簡単設定
Assetメニューを実行してAssetを作詞してコンポーネントをモデルデータにドラッグするだけで(デフォルト設定で)
上の動画のようなキー入力によるプレイが可能

このツールの作成目的

昔々、RokDeBone2のモーションアクセラレータ(moa)という機能を作りました
モーションの変化の仕方の設定に関するものです
この過去の資産をこれからのUnity利用に使おうというところから始まりました。

ついこの前も更新したMotionBrushについても
複数のモーションを1つのfbxに格納できるものの
その変化の仕方の設定がぁーという状態でした

RokDeBone2のmoaファイルに対応すれば古い資産には対応できますが
これからのことを考えてmoa読み込みだけではなく編集機能も付けることにしました

これからは仕事もC#を使うものが増えています
一番の理由はその就職準備だったりします

ダウンロード


2022/06/10 ver1000 公開
Download ダウンロード
バージョンアップ予定有ります



2022/01/24
ver0002 公開停止

2022/01/23
ver0002 実行時警告に対応



使い方



動画をみれば分かると思いますので

とりあえず
説明が必要だと思われる部分だけ解説



図1 uMotTreeEditorでモーション変化の設定 イベント番号はキー入力と対応している


Write CSボタンでMotTreeEditorのアセットで設定した内容がChangeAnimTest.csに書き出されます
このChangeAnimTest.csをAssetフォルダにドラッグアンドドロップします
そしてAssetのChangeAnimTest.csをHierarchyのモデルデータにドラッグアンドドロップしてコンポーネントとして追加します。


ChangeAnimTest.csの中でイベント番号をキー入力に対応付けています
この辺りはお好みのイベントに対応付けし直すのも良いでしょう



ナビゲーション