onUseとPlayを使用して、アニメーションを再生するサンプルです。
参考:VCIでアニメーションを再生する
アイテムを使ったときに処理を実行するには「onUse」を使用します。
ここでは指定の「VCI SubItem」を使うとアニメーションを再生する処理を作成します。
1. 新しくGameObjectを作成し、その中にCubeを入れ子にします。
GameObjectの名前は「UseAnimation_VCI」としていますが、任意の名前でも可です。
「VCI Object」コンポーネントをアタッチします。
Cubeの名前はここでは「Cube」と指定します。
地面に貫通しないようY座標を1.0に指定します。
「VCI SubItem」コンポーネントをアタッチします。
この時、「Rigitbody」コンポーネントもアタッチされます。
今回は重力を使用しないため、「Use Gravity」をOFF、「Is Kinematic」をONにします。
2. Cubeに再生用の「Animation」コンポーネントをアタッチし、
アニメーションを1つ作成します。
詳細:VCIでアニメーションを再生する
※Animationの操作はUnityのマニュアルを参照してください。
https://docs.unity3d.com/ja/2018.1/Manual/animeditor-CreatingANewAnimationClip.html
3. 「VCI Object」コンポーネントのScriptsのSizeを1に指定し、
Nameに「main.lua」を記入、Sourceに以下スクリプトを記入します。
local Anime = vci.assets.GetTransform("Cube") local SubitemAnime = Anime.GetAnimation() function onUse(use) if use == "Cube" then SubitemAnime.Play(false) end end