Q. UnityでE-mote のオブジェクトを動かす際、私はEmotePlayer.cs のクラス内の変数を、外部のスクリプトから弄っているのですが、もっと簡単な管理命令は、あるのでしょうか‥‥?
A. 用途に応じていくつかの方法があります。
・キャラの動作
キャラの位置、および角度を変更するには、EmotePlayerをアタッチしているGameObjectのTransformを変更するのが適切です。
E-mote3.8以降で推奨している、transform alignmentを設定した状態であれば、物理系も正しく反映されます。
・キャラの定型的な挙動
キャラに決まった形の演技をつける際には、主にタイムラインを使います。
「恒久的な変化」は通常のタイムラインで、「一時的な挙動の変化」は差分タイムライン、と使い分けるのがコツです。
差分タイムラインは複数のスロットが用意してあるので、各スロットを用途別に使い分けると良いでしょう(一例:スロット1=身体向き,スロット2=待機モーション,スロット3/4=感情表現系モーション)
この用途での変数の使用は、手間がかかりがちなのでタイムラインで制御しきれない細かい制御の場合のみに限るとよいでしょう。
・キャラの定型的でない挙動
「マウスカーソルを目線で追う」といった、定型的でないプログラマブルな挙動を実現する際には、変数差分機能を使います。
EmotePlayer.setVariableDiff() で、再生されているタイムラインや変数値の上にさらに差分で足し合わせる変数値を設定出来ます。
これにより、リアルタイムに細かい動的なキャラの挙動を表現出来るようになります。