Skip to content

アニメーション

ボディアニメーション、顔アニメーション、アイテムアニメーションの3種類のアニメーションが存在します。

ボディアニメーション

アバターボディ全体のアニメーションです。自社アプリ側でどのようにアニメーションするか決めて実装します。ボディアニメーションは、アニメーションクリップの形式で提供されます。

走るアニメーション

ボディアニメーションの入手方法

1万以上の既存アニメーションの中から、自社アプリの要件に合うものを提供可能です。新規のアニメーションを制作することも可能です。Avatar Play担当者にご相談ください。

アニメーションタイプ

Avatar Play のアバターは、スカートや振袖なども基本ボーン構造として定義されるため、アニメーションタイプがジェネリックとなります。アニメーションクリップも、基本ボーンに対応したジェネリックアニメーションとして準備する必要があります。

mecanim を使った再生

mecanim に対応しており、アニメーターコントローラを使った再生が可能です。歩く/走る/ジャンプを表現したサンプルのアニメーターコントローラを Assets > AvatarPlay > Animators > Sample Animator Controller に収録しています。

Simple Animator Controller

テイストに応じてアニメーションを変更する

かわいいアバターには可愛らしいアニメーションを、セクシーなアバターにはセクシーなアニメーションを適用するよう設定できます。「かわいい」「セクシー」などのアバターのテイストは、アバターロード後に AvatarCoordinatorAvatarCoordinationTaste プロパティに設定されます。

アバターコーデのテイスト

アバターのテイストはアイテムの組み合わせ(コーデ)に応じて自動で設定され、以下の種類が存在します。

テイスト名 説明
casual カジュアルなアバターテイスト
cool クールなアバターテイスト
kawaii 可愛らしいアバターテイスト
sexy セクシーなアバターテイスト

アニメーターコントローラの自動切り替え

AvatarAnimatorAnimatorControllers プロパティに接尾辞がテイスト名で終わるアニメーターコントローラを設定しておくことで、テイストに応じたアニメーションコントローラが自動で適用されるようになります。

動的なアニメーターコントローラ

デモ

Assets > AvatarPlay Demo > 06. Dynamic Animator Controller Demo > Scenes 以下のシーンを実行すると、テイスト毎にアニメーターコントローラが動的に選択されるデモを確認できます。このデモでは、基本となるアニメーターコントローラを準備した上で、アニメーションクリップをテイスト毎に変更したアニメーターコントローラ(Override Animator Controller)を作成して利用しています。

顔アニメーション

5つの表情に対応しており、それぞれについて瞬きなどの顔アニメーションが再生されます。顔アニメーションは自動再生するため、自社アプリ側での作業は必要ありません。

表情の種類

対応している表情は以下の5つです。

  • 普通
  • 笑う
  • 怒る
  • 泣く
  • 照れる

表情

表情の変更

Avatar Animator スクリプトの ChangeFacialExpression メソッドを呼び出して表情を変更します。表情の定義は列挙体 FacialExpression に定義されています。

var avatarAnimator = avatar.GetComponent<AvatarAnimator>();

// 笑う
avatarAnimator.ChangeFacialExpression(FacialExpression.Larghing);

// 怒る
avatarAnimator.ChangeFacialExpression(FacialExpression.Angry);

// 泣く
avatarAnimator.ChangeFacialExpression(FacialExpression.Crying);

// 照れる
avatarAnimator.ChangeFacialExpression(FacialExpression.Embarrassed);

口パク

普通の表情から口パクを開始することが可能です。 AvatarAnimator スクリプトの OpenMouthCloseMouth で口の開閉を、StartTalkingStopTalking で自動の口パク(会話状態)を実現できます。

口パク

会話状態の実装

会話状態から他の表情へ変更し、普通の状態に戻ると、口パク状態は継続したままになります。口パクを停止するためには、明示的に StopTalking メソッドを呼び出す必要があります。

var avatarAnimator = avatar.GetComponent<AvatarAnimator>();

// 普通の表情へ
avatarAnimator.ChangeFacialExpression(FacialExpression.Normal);

// 口パク開始
avatarAnimator.StartTalking();

// 他の表情へ変更
avatarAnimator.ChangeFacialExpression(FacialExpression.Larghing);

// 普通の表情へ戻す。口パクは継続。
avatarAnimator.ChangeFacialExpression(FacialExpression.Normal);

// 口パクを停止
avatarAnimator.StopTalking();

口パクする速度は Mouth Speed プロパティで変更可能です。ここで指定した秒数に1度口パクします。

Mouse Speed

デモ

顔表情の変更などのデモは、 Assets > AvatarPlay Demo > 05. Facial Expression Change Demo 以下に収録しています。 Scenes フォルダ内のシーンを実行してみてください。アバターが登場し、キーボード操作で表情名の柱をアバターがタッチするとアバターの表情が変更します。普通の表情の状態で「Normal」の柱をタッチすると、口パクを開始します。

アイテムアニメーション

アニメーション付きのアイテムが存在します。こちらも顔アニメーション同様、AvatarAnimator スクリプトによって自動再生されます。

アイテムアニメーション