motion3.jsonに設定されたイベントを取得

[最終更新日:2017/11/21]

ここでは、motion3.jsonに設定されたイベントの情報を、自動生成されるAnimationClipから発行されるイベントから取得する方法を説明します。

 

概要

[UserData]は、3.1から追加された機能で、ユーザがモーションの任意のタイミングでイベントを発行することができます。
Unityでは、motion3.jsonから変換されるAnimationClipからイベントが発行されます。
イベントの扱い方によっては、モーションの途中から音声を再生させたり、パーツの表示状態を変更するなど、様々なことに活用できます。

motion3.jsonへのイベントの設定方法については こちら をご覧下さい。

 

モーションから発行されるイベントの取得には、以下の手順を行ないます。

1. イベントを受け取るコンポーネントの作成
2. CubismMotion3Jsonに記述を追加
3. モデルとモーションをSceneに配置

 

イベントを受け取るコンポーネントの作成

Projectウィンドウの[Create]をクリックし、[C# Script]をクリックしてC#スクリプトを作成します。
ここでは名前はUserDataTestとします。

 

作成したUserDataTestの中身を以下のように書き換えます。

 

  

 

CubismMotion3Jsonに記述を追加

CubismMotion3Jsonクラスを開き、 ToAnimationClip() のAnimationEventを作成している箇所を以下のように記述します。

 

functionName には、前項で作成したUserDataTestクラスのイベントを受信するメソッドの名前を設定します。

 

モデルとモーションをSceneに配置

イベントが設定されたmotion3.jsonをインポート、または再インポートします。

インポートや再インポートについては、該当のチュートリアルをご覧ください。

 

HierarchyウィンドウにモデルのPrefabを配置し、PrefabのルートにUserDataTestコンポーネントをアタッチします。

 

motion3.jsonから生成されたAnimationClipを、Hierarchyに配置したPrefabへドラッグ・アンド・ドロップします。

 

以上で設定は終了です。

この状態でSceneを実行すると、再生中のAnimationClipから特定のタイミングでイベントが発行され、Consoleウィンドウに、イベントに設定された文字列が出力されます。

Copyright © 2018 Live2D Inc.