UnityでE-mote のオブジェクトを動かす

main BBS フォーラム システム・仕様系Q&A UnityでE-mote のオブジェクトを動かす

  • このトピックには1件の返信、2人の参加者があり、最後にひととせにより1年、 7ヶ月前に更新されました。
2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • 投稿者
    投稿
  • #7015 返信
    emote_ofc
    キーマスター

    Q.  UnityでE-mote のオブジェクトを動かす際、私はEmotePlayer.cs のクラス内の変数を、外部のスクリプトから弄っているのですが、もっと簡単な管理命令は、あるのでしょうか‥‥?

    A. 用途に応じていくつかの方法があります。

    ・キャラの動作
    キャラの位置、および角度を変更するには、EmotePlayerをアタッチしているGameObjectのTransformを変更するのが適切です。
    E-mote3.8以降で推奨している、transform alignmentを設定した状態であれば、物理系も正しく反映されます。

    ・キャラの定型的な挙動
    キャラに決まった形の演技をつける際には、主にタイムラインを使います。
    「恒久的な変化」は通常のタイムラインで、「一時的な挙動の変化」は差分タイムライン、と使い分けるのがコツです。
    差分タイムラインは複数のスロットが用意してあるので、各スロットを用途別に使い分けると良いでしょう(一例:スロット1=身体向き,スロット2=待機モーション,スロット3/4=感情表現系モーション)
    この用途での変数の使用は、手間がかかりがちなのでタイムラインで制御しきれない細かい制御の場合のみに限るとよいでしょう。

    ・キャラの定型的でない挙動
    「マウスカーソルを目線で追う」といった、定型的でないプログラマブルな挙動を実現する際には、変数差分機能を使います。
    EmotePlayer.setVariableDiff() で、再生されているタイムラインや変数値の上にさらに差分で足し合わせる変数値を設定出来ます。
    これにより、リアルタイムに細かい動的なキャラの挙動を表現出来るようになります。

    #13533 返信
    ひととせ
    ゲスト

    UnityでE-mote のオブジェクトを動かす際、クリックを検知するたびに一定のモーションをさせようとしています。
    外部のスクリプトからUpdate()内で差分タイムラインを関数で指定しているのですが、if分岐させても一度しか動きません。
    動作の後、別のモーションを関数に代入するようにしても同じです。動作を見る限り、一度EmotePlayer.diffTimelineSlot1の中身を指定すると変更されないようです。
    これは解決できるのでしょうか?

2件の投稿を表示中 - 1 - 2件目 (全2件中)
返信先: UnityでE-mote のオブジェクトを動かす
あなたの情報:





<a href="" title="" rel="" target=""> <blockquote cite=""> <code> <pre class=""> <em> <strong> <del datetime="" cite=""> <ins datetime="" cite=""> <ul> <ol start=""> <li> <img src="" border="" alt="" height="" width="">