VCIでアニメーションを再生する

アニメーション(Animation)を組み込むことで、動きのあるVCIを作成できます。
PlayFromNameを使用します。
Unityでの操作や、アニメーションとスクリプトの作成について詳しく説明します。

他のサンプル:風車をつかんだら回りはじめ、放すと止まる

必要なもの

UnityのHierarchyビューで、次のようなオブジェクトの並びになります。

①VCI Object(root)
⇒VCIの情報を記入します。

②SubItem
⇒個別にVCIのオブジェクトとしての機能を付けます。
今回はAmimationを追加して、③に動かしたい3Dモデルを配置します。

③動かしたいGameObject
3Dモデルを配置します。

手順

1. VCI Objectの作成

空のGameObjectを作成します。

作成したGameObjectを分かりやすい名前に変更して、[AddComponent]から[VCI Object]を追加します。
ここではAnimationVciとします。

2. SubItemを作成

空のGameObjectを作成します。

作成したGameObjectを分かりやすい名前に変更して、[AddComponent]から[Animation]を追加します。
ここではAnimationObjectsとします。

また、[AddComponent]から[SubItem]を追加し、[Rigidbody]のUseGravityのチェックを外し、IsKinematicにチェックを入れます。

この時、VCI Objectの子になるように配置してください。

3. 動かしたいGameObjectを作成

空のGameObjectを作成します。
ここではCubeを使用しています。

この時、手順2で作成したGameObjectの子になるように配置してください。

4. Animationウィンドウを開く

手順2で作成したGameObjectを選択した状態で、メニューから[ Window > Animation > Animation ]を選択して、Animationウィンドウを開きます。

ショートカットキー[ Ctrl + 6 ]でもAnimationウィンドウを開くことが出来ます。

5. アニメーションクリップを作成

Animationウィンドウ中央の、[Create]ボタンでアニメーションクリップを作成します。

分かりやすい名前で保存してください。
ここではCubeAnimationとします。

手順2で作成したGameObjectが選択されているか確認してください。

GameObjectを選択していない場合、[Create]ボタンを押せません。

6. keyframe recording modeをOnにする

Animationウィンドウの左上の◎ボタンをおして、keyframe recording modeをOnにします。

keyframe recording modeをOnにすると簡単なアニメーションが手軽に作成できます。
詳しく使い方を知りたい場合はこちらを参照してください。

7. 上昇するキーフレームを作成

①フレームを30に指定。今回は1秒間に1回上下するアニメーションを作成したいので、30で上昇、60で元に戻るように設定します。

②Cubeの[Transform]の[Position]のYを2に変更します。

8. 元の位置に戻るキーフレームを作成

①フレームを60に指定。

②Cubeの[Transform]の[Position]のYを0に変更します。

Animationウィンドウを選択した状態でspaceを押すと、現時点でのアニメーションの動きの確認が出来ます。

9. 元に戻るキーフレームを作成

①フレームを60に指定。

②Cubeの[Transform]の[Position]のYを0に変更します。

Animationウィンドウを選択した状態でspaceを押すと、現時点でのアニメーションの動きの確認が出来ます。

スクリプト

VCI Objectのコンポーネントから、 スクリプトを入力します。
作成したアニメーション名を指定して、アニメーションを再生することができます。
VCIを取り出すと、自動的にアニメーションが再生されます。

main.lua
local Anime = vci.assets.GetTransform("AnimationObjects")
local SubitemAnime = Anime.GetAnimation()
SubitemAnime.PlayFromName("CubeAnimation", true)