Skip to content

Control your own objects and characters.ja

umiyuki edited this page Nov 22, 2018 · 2 revisions

自前のオブジェクトやキャラを操作する

前準備

サンプルのEmptyシーンを開いて別名で保存するか、自前のシーンを使いたい場合はEmptyシーン内のVRAnimationEditorオブジェクトを自前のシーンにコピーしてください。

設定

自前のオブジェクトにノードハンドルを表示するには、オブジェクトに"Node"タグまたは"IKNode"タグを付けてください。(NodeとIKNodeは見た目が違うだけで実質同じ物です。)

ただし、GenerateNodesのRootObjectを設定している場合は、RootObjectの子のオブジェクトにしかノードハンドルは表示されません。

FinalIKを使って自前のキャラクターを操作できるようにする

Humanoidキャラクターを一発でセットアップするヘルパーを用意してます。

まず、シーン上のキャラクターにFullbody Biped IKコンポーネントを付けてください。

次にメニューからUVAE→SetupFBBIKCharacterを選択して、セットアップウインドウを表示してください。

セットアップウインドウのtargetにキャラクターオブジェクトをセットして、Setupボタンを押してください。

成功すればFullbody Biped IKの全身のエフェクターがセットされ、ノードが設定されます。

キャラクターのAvatarに両目のオブジェクトが未設定の場合はLookAtIKは設定されません。必要に応じて手動で設定してください。

手動でキャラクターを設定する

ヘルパーが上手く動かなかったり、ヘルパーの設定が気に入らない場合は手動でキャラクターをセットアップしてください。

設定内容はサンプルのユニティちゃんを参考にしてください。

セットアップしたキャラクターのアニメーションを編集する

キャラクターのアニメーターにアニメーションコントローラが設定されてない場合は新規作成して設定してください。

プレイモードで編集できるアニメーションクリップは、アニメーションコントローラ内に設定されているものだけです。

アニメーターウインドウを開いて空のステートを作成して、デフォルトステートに設定してください。(プレイモードで余計なアニメーションが再生されてしまうのを防ぐため)

アニメーターのApply Root Motionのチェックはオフにしてください(記録されるアニメーションの位置がズレる事があるため)

アニメーションウインドウで編集したいアニメーションクリップ(アニメーションコントローラ内にある物)を選択してからプレイモードに入ってください。

アニメーションウインドウでRecordモードを開始して編集してください。

アニメーションクリップ初期化ヘルパー

新規作成したアニメーションクリップの0フレーム目に全てのノードのキーを打って、さらに全てのRotation補間をクォータニオンにセットしてくれる便利なヘルパーを用意しました。

アニメーションウインドウで新規作成したアニメーションクリップが選択されてる状態で、メニューからUVAE/InitAnimationClipを選択すると初期化してくれます。

編集済みのアニメーションクリップが選択されてる状態で実行してしまうと上書きされてしまうので気を付けてください。

FinalIKが無い場合のキャラクター設定

FinalIKが無い場合は、キャラクターの全てのボーンに"FKNode"タグを設定してください。

FKNodeは、移動ができずに回転、拡縮のみできます。

一つ一つのボーンを回転させてポーズを付ける操作になります。

キャラクターはHumanoidではなくGenericのみ対応しています。(Humanoidだとボーントランスフォームが記録できないため)

全てのボーントランスフォームの記録を有効にするために、GenerateNodesのRecordAllChildObjectsのチェックをオンにしてください。

ノードハンドルの大きさを変えたい

ノードハンドルの大きさを個別に調整したい時は、Assets/UnityVRAnimationEditor/Scripts/ScalingNodeスクリプトをNodeタグが付いたオブジェクトに付けてください。

Scale値を変更するとノードハンドルの大きさを変更できます。

2にすると2倍、0.5にすると0.5倍になります。