Bot3D 1,0 ToolKit TIPS (4) 「目の動かし方」
Bot3D 1.0 ToolKit を使っての「3Dトーキングヘッド」作成を支援するための、より具体的な「チップス」を、このコーナーで連載しています。
第4回目は上級編として目の動かし方をご紹介します。
バーチャルキャラクターに表情を付ける重要な要素の一つとして、目の動き—つまりこの場合、眼球の動きがあります。
バーチャルキャラクターのアニメーションシステムとして、「瞬き」と同様に自動的に眼球運動を付ける事も考えられます。
しかし、Bot3D 1.0では、眼球運動はユーザーの作成と割り当てにまかされています。
というのは、確かに眼球運動は無意識運動ではあるのですが、会話中を考えてみると、やはり、会話内容に従った感情表現や意図に従ったものなのです。
もし、これをまったくランダムにつけてしまうと、多分、挙動不審なキャラクターとなるでしょう。
Bot3D 1.0で、眼球運動を付けるには次の二通りのやりかたがあります。
1) 動作の一環としてつける。
2) 表情の一環としてつける。
動作の一環として目を動かす
1) の場合は、ボーンアニメーションと同様の方法で眼球を動かします。つまり、ボーンに眼球ポリゴンをアタッチします。(bone asigned meshes) その、眼球パーツをRotationのキーアニメーションとして、眼球運動を作るものです。
データは、Motion3Dファイルの中に記録されます。
Bot3D 1.0では、キャラクターは全体でひとつのボーンアニメーションとなります。
指定したボーンのアニメーションのみ取り出してプレイバックさせることはできません。
しかし、上でお話したように、人の目の動きは動作と連動したものであるはずなので、これでも表現としては十分であると考えられます。
この方法は、リアルキャラクターで有効な手法です。

Figure 1 「かえで」---動作の一環として目を動かす例
「かえで」- 制作中 – 3D
modeling :みむらよういち
表情の一環として目を動かす
2) の場合は、ターゲットモーフアニメーションと同様の方法で眼球を動かします。
つまり、表情アニメーション同様に、顔のモーフターゲットの一環として眼球を動かした目をいくつか用意する方法です。
データはModel3DファイルであるTargetファイルの中に記録されます。
変化した目は、顔のポリゴンと一体化しても、あるいは、顔とは別のポリゴンとしてもどちらでもかまいません。
モーフターゲットの場合は、クラスターにより領域分けすることができるので、目だけ独立したアニメーションにすることが可能です。
目の動きはかなり表情と連動したものなので、モーフターゲットとして目を動かすのも意味があることのはずです。
この手法は、眼球が球でなく平面に近いもの---つまりノンリアルなデフォルメしたキャラクターや、コミック的なキャラクターの表現に有効です。

Figure 2 「暮井須亭沙流師匠」---表情の一環として目を動かす例
「暮井須亭沙流師匠」– 制作中 – 3D modeling :ツインテールグラフィックス/茂田武士
1) と2)の方法を混在させるとどうなるのでしょうか? うまく考えない限り動作不定となるのでやめたほうがよいのではないでしょうか?
ひとまず、まとめ…
あなたは、3Dキャラクターのアニメーションを作成するときどうしていますか?
たとえば、ヒロインが会話する10秒のムービーシーンを作るとしても、これだけのことを考えなければならないでしょう。
音声にあわせた口の動き(リップシンク)のモーフィング、表情変化のモーフィング、さらに、適当にまばたきも入れたいし…、それからもちろん身振り、手振り体全体のボーンアニメーションは必要で…
音声に口を合わせるのは細かい作業で大変であるし、動作の入れ方のタイミングに修整を入れようとするとまた一苦労、これがもし、2分3分…のアニメーションになったら? 考えただけで神経衰弱ものです。作業を続けるうちに、「何か同じことを何度も繰り返している気がするなあ、もっと、効率よく作業する方法があるんじゃなかろうか?」など考え初めてしまうのではないでしょうか?
こういった煩雑な作業をすべてあっさりやってしまおうというのが、Bot3D技術の目標とするところなのです。
それは単にWeb3Dツールを提供していこうというだけではなく、会話する3Dバーチャルキャラクターのアニメーション制作に関する従来の3DCGでの方法と根本的に異なるアプローチの提案なのです。