目次

アイテムを使ったときにアニメーションを再生する

onUsePlayを使用して、アニメーションを再生するサンプルです。
参考:VCIでアニメーションを再生する

サンプルデータ

https://virtualcast.jp/products/9bd2f446cc30815fd18fa7e66b7cd62e0b8dc43cb666d435e5474ab224888bfe

useanimation_vci.zip

手順

アイテムを使ったときに処理を実行するには「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に以下スクリプトを記入します。

VCIスクリプト

main.lua
local Anime = vci.assets.GetTransform("Cube")
local SubitemAnime = Anime.GetAnimation()
function onUse(use)
    if use == "Cube" then
        SubitemAnime.Play(false)
    end
end