アニメーション#
時間軸に沿ってパラメーターを変化させてVCIに動きをつけることができます。
仕様#
アニメーションはUnityのAnimationによって実装されています。
アニメーションできる対象は以下の通りです。
Transform
Position
Rotation
Scale
SkinnedMeshRendererのBlendShape
Transform - Rotation のInterpolationにEulerAngleは使用できません。
SubItemのTransformをアニメーションで動かした場合の動作は保証されません。
アニメーションの組み込み#
アニメーションをVCIに組み込むための、UnityEditor上の設定方法を説明します。
ツールバーの
Window > Animation > Animation
を選択してAnimationウィンドウを表示します。HeirarchyウィンドウでVCIのルートオブジェクトより下のオブジェクトから「アニメーションさせたいオブジェクト」または「アニメーションさせたいオブジェクトを子に持つオブジェクト」を選択します。
Inspectorウィンドウで「Add Component」ボタンを押し、Animationコンポーネントを追加します。
オブジェクトを選択した状態でAnimationウィンドウの「Create」ボタンを押し、AnimationClipを任意の場所に保存します。
Unityのマニュアルに従い、アニメーションを作成します。
参考
アニメーションの作成方法は以下を参照してください。
Animation ウインドウの利用法 - Unity マニュアル
ゲームオブジェクトのアニメーション化 - Unity マニュアル
Animator コンポーネント - Unity マニュアル
アニメーションの再生#
VCIスクリプトではアニメーションの再生を制御するAPIとしてExportAnimation
が提供されます。
以下はVCIスクリプトからアニメーションを再生するサンプルコードです。
local transform = vci.assets.GetTransform("組み込み手順2で選択したGameObject名")
local animation = transform.GetAnimation()
animation.PlayFromName('組み込み手順3で作成したAnimationClip名', true)