【Unity】表示されているテキストと表情のアニメーションを連携させる方法

2017.07.17 自習室 0

下の「腹話術Unityちゃん」のように、表示されるテキストと話すアニメーションを連携させるため、「テキストの母音を取得し、それに合わせて表情のアニメーションを変える」ということをしたかったのですが、「テキストの母音を取得する」のが意外とデフォルトのメソッドではうまくできなかったのでメモ。
→後で見返してみたら別にデフォルトのメソッドでも処理できたので追記。ページの一番下にデフォルトメソッド版のスクリプトも追記しました。

◼︎ 腹話術Unityちゃん 腹話術Unityちゃん

環境

  • Unity 5.6.0f3

このページの構成

スクリプト
実行イメージ
とても簡単な解説
参考リンク
追記:デフォルトメソッド版スクリプト

スクリプト

実行イメージ

母音取得イメージ

とても簡単な解説

処理としては単純で、以下のことを行っています。

  1. テキストを取得する。
  2. テキストの文字を一文字ずつ取り出し、拡張メソッドを通して母音を取得する。
  3. 母音を表示する。

ややこしいのは拡張メソッドの部分だけかと思います。

上記のスクリプトでいうと、text[ i ]の中身が「”あかさたなはまやらわ”の中に含まれるならば”あ行”」というような判断をしたかったのですが、これがデフォルトのメソッドではうまく処理できなかったため、拡張メソッド includeAny() を作成しています。
拡張メソッドについては、以下の「参考リンク」をご覧ください。

ここで取得した母音に応じて表情を変えるようにすると、テキストと表情をリンクさせた表現もできるようになります。

参考リンク

追記:デフォルトメソッド版スクリプト

拡張メソッドを使用しなくても母音の取得ができたので追記。変わっているのは GetTextVowel() のところだけです。Containsを使って処理を行っています。

公式スクリプトリファレンス

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です