マッスル
デフォルトのマッスルセットの構築は、キャラクターセットアップサービスの一環として弊社で行います。ただし、SGX Studioを使用して、ユーザー側でマッスルの編集が可能です。
弊社のアニメーションは、時間の経過に沿ったマッスルアクティベーションを出力する「マッスルダイナミック」モデルによって生成されます。ここでの「マッスル」とは、フェイシャルアクションコーディングシステム(FACS)の「アクションユニット」というコンセプトに似ており、外見に表れるものを、独立してコントロール可能な変形パターンとして定義します。マッスルは生物学に基づく基本要素であるため、キャラクター間でほぼ普遍的かつ類似しているという利点があり、そのため汎用性のあるビヘイビアモデルが可能です。
それぞれのマッスルは、特定の筋肉の収縮をシミュレートします。マッスルには一方向のものと双方向のものがあり、双方向のマッスルには反対方向に働く2つの効果があります。
各マッスルには以下のプロパティがあります。
時間とともに変化する収縮度:0~1のパラメータで表される。0は完全に弛緩した状態で、1は完全に収縮した状態。双方向のマッスルの場合、範囲は-1~1になります。
リグポーズ:リグでの筋肉の収縮による変形の効果を定義するもので、リグのアニメーションパラメータを使用して指定します。双方向のマッスルの場合、ポジティブポーズとネガティブポーズがあります。
ダイナミックパラメータ:マッスルの収縮や弛緩の速さを定義するもので、収縮持続時間とスキューの2つのパラメータがあります。
弊社のマッスルダイナミックなビヘイビアアルゴリズムによって、時間の経過に沿った筋肉の収縮の値が生成されます。生成された値は、マッスルの変形定義を使用してリグ上のアニメーションに変換されます。
マッスルは口形素やエクスプレッションではない
マッスルは、スピーチビヘイビアとノンバーバルビヘイビアのどちらをアニメーションさせる場合にも使用されます。ただし、マッスルは口形素やフェイシャルエクスプレッションではありません。
口形素とは、発音時の見た目が似ていると考えられるスピーチ音をまとめたグループのことです。たとえば、「t、d、n、l」の音は単一の口形素の構成要素であると見なせます。「p、b、m」も同様です。この2つのグループの音は、外見上、きわめて混同しやすいためです。従来のフェイシャルアニメーションでは、各口形素のターゲットポーズを使用したうえで、連続する複数の口形素の間を何らかの形で補間するという方法でリップシンクが表現されています。
弊社の場合、口形素は使用しません。マッスルダイナミックシステムでは(子音と母音に対応した)複雑なスピーチポーズが出現しますが、これは、独立した複数のマッスルの連携による協働作用でアーティキュレーション目標が達成されているためです。たとえば、「t」を発音しようとする場合、全身が一体化したようなポーズで舌や顎、リップを動かそうとするのではなく、舌のマッスル、顎のマッスル、リップのマッスルをそれぞれ独立して動かします。
同様に、ノンバーバルのフェイスエクスプレッションの場合も、基本的には複数のマッスルがかかわってきます。たとえば、笑顔を作ろうとすると、口の両端が収縮するだけでなく、頬や目にも動きが出ます(実際の人の顔で、独立して動かせる部分)。このような複雑なエクスプレッションに対して一体構造のマッスルを作成すると、物理的な根拠には関係なくポーズが遷移するため、不自然なアニメーションになってしまいます。マッスルの組み合わせによってノンバーバルのフェイシャルエクスプレッションを作成する方法については、「ビヘイビアモード」を参照してください。
デフォルトのマッスルセット
キャラクターセットアッププロセスの一環として、キャラクターコントロールファイルとともに、定義済みのデフォルトのマッスル一式を提供いたします。マッスルは、SGX Studioを使用してユーザー側で編集できます(「マッスルポーズの編集」参照)。
現時点で、デフォルトのマッスルは73種類あります。マッスルは、眉、頬、顎、リップ、舌などの体の部位に基づいたグループ(現時点で10個)にまとめられています。部位ごとに分けることのポイントは、マッスルを整理しやすくなるのと、それぞれに動作に関するデフォルトのパラメータがあるということです。たとえば、舌と頭には相対的なサイズや移動距離の差があることから、通常、舌の位置移動は頭の位置移動よりもきわめて高速です。このような差は、2つの部位のデフォルトのダイナミクス(物理的挙動)に反映されています。各部位に追加された新しいマッスルは、その部位のデフォルトのダイナミクスを自動的に継承します。
以下に、デフォルトのマッスルを体の部位別に示します。左側面バージョンと右側面バージョンがあるマッスルには、それぞれ「L」と「R」が付加されています。双方向のマッスル(ポジティブポーズに加えてネガティブポーズも存在)には、[⇔]が付加されています。青緑色で示されているマッスルは、プロテクト付きマッスルです。
眉
Brow In L
Brow In R
Brow Lower L
Brow Lower R
Brow Raise L
Brow Raise R
Brows In
Inner Brow Lower L
Inner Brow Lower R
Inner Brow Raise
Outer Brow Lower L
Outer Brow Lower R
Outer Brow Raise L
Outer Brow Raise R
Scalp Slide [⇔]
頬
Cheek Raise L
Cheek Raise R
Cheek Raise Outer L
Cheek Raise Outer R
眼球
Microdart [⇔]
Eyeball Pitch [⇔]
Eyeball Roll [⇔]
まぶた
Blink
Eye Close
Eye Flare L
Eye Flare R
Eye Squeeze L
Eye Squeeze R
Eye Squint L
Eye Squint R
Lower Eyelid Flex L
Lower Eyelid Flex R
頭
Head Pitch [⇔]
Head Roll [⇔]
Head Thrust [⇔]
Head Yaw [⇔]
顎
Jaw Opening
Jaw Clench
Jaw Shift Lateral [⇔]
Jaw Shift Longitudinal [⇔]
リップ
Adduction
Compression
Lip Flare
Lower Lip Pull
Lower Lip Push
Lower Lip Tuck
Pinching
Retraction
Rounding
Upper Lip Pull
Dimple L
Dimple R
Lip Corner Depress L
Lip Corner Depress R
Lip Tighten
Mouth Stretch
Mouth Swing [⇔]
Retraction L
Retraction R
Upper Lip Pull L
Upper Lip Pull R
鼻
Nostril Flare
Nose Wrinkle L
Nose Wrinkle R
Nostril Compress
喉
Larynx Lower
Larynx Raise
Neck Tense L
Neck Tense R
舌
Tongue Advance
Tongue Body Raise
Tongue Retraction
Tongue Tip Raise
胴
Chest Breath [⇔]
キャラクターのマッスル定義は自由に調整可能です。デフォルトのマッスルセットが提供されますが、SGX Studioを使用すれば、マッスルの削除、追加、編集といった操作が可能です。
SGXはFACSか
顔の可変性には、生体力学上の制約が存在しています。したがって、モーションを自然な形でパラメータとして表現するには、顔の動きの源である一連の運動機能を単位にします。顔のモーションを基本的な運動機能へと分類した最初期の解析のひとつに、1970年にCarl-Herman Hjortsjö氏によって提唱されたものがあります。心理学者であるPaul Ekman氏とWallace Friesen氏がそこから発展させたフェイシャルアクションコーディングシステム(FACS)は、顔のモーションについて包括的な解析を提供したものとなっています。両氏によれば、人間の顔には268もの筋肉がありますが、顔でできる基本的なアクションは、両氏がアクションユニットと呼んでいる46種しかありません。各アクションユニットは、独立してコントロールできる1つのマッスルグループのモーションであり、そのモーションが顔の表面の特徴的な位置移動パターンを発生させています。スピーチ、感情、またはその他の何らかの動作に伴うフェイシャルエクスプレッションは、原理上、それぞれが一定の程度まで駆動する1つ以上のアクションユニットのセットへと分解できます。FACSは、元々はフェイシャルエクスプレッションの分類を説明するためのシステムとして考案されたものですが、今日では顔のリギングの基盤として幅広く利用されており、リグのパラメータは、対応するアクションユニットをどの程度駆動させるのかを表しています。
弊社のマッスルセットは、FACSのアクションユニットに関連したものになっていますが、いくつかの大きな違いがあります。まずは、スピーチ生成ダイナミクスの理解に基づき、スピーチマッスルの分解方法を大幅に見直していること。そして、顔の筋肉だけでなく内部の声道の筋肉もマッスルに含まれていること。舌だけでなく、頭など、スピーチ中に動く可能性がある身体の筋肉も含まれており、腕や手や胴もアニメーションさせることができます。そして、FACSのアクションユニットとは異なり、弊社のマッスルは双方向にも対応する点です。
マッスルポーズの編集
SGX Studioでマッスルのポーズを設定するには、リグのアニメーションパラメータを編集してポーズを構築します。アニメーションパラメータは、1つのポーズを作り上げるうえでいくつ使用してもかまいません。
マッスルポーズを定義する際は、分離、ディテール、可動限界という3つの原則に従ってください。
分離
最初の原則は分離です。マッスルポーズは、コントロール可能な1つの独立したマッスルの収縮による影響を、他のマッスルの影響と混合することなく捉えたものでなければなりません。これが、エクスプレッションなど、より複雑でマッスル間の協働作用によって生じるイベントとマッスルの違いです。
実際には個別にコントロールできる動きを複数組み合わせてマッスルを作成すると、以下の好ましくない影響が表れます。
キャラクターの自由度が低下する。
それぞれの部位が不自然で矛盾した状態で結合されるため、物理法則を無視できてしまう。
ディテール
マッスルの動きを分離することが重要であると同時に、マッスルの全体的な影響を捉えること、つまり変形のディテールを最大限まで描写することも重要になります。したがって、マッスルポーズを定義する際の2つ目の原則はディテールです。自然な仕上がりになるかどうかはディテールで決まります。マッスルはアニメーションの構成要素なので、ディテールに凝ったマッスル変形は、違和感のないアニメーションに仕上げるうえで欠かせません。
ディテールに凝った変形に求められるのは、二次的な細かい動きも含めて、特定の筋収縮に伴って動く顔のすべてのパーツに注意を払うことです。たとえば、人間の上唇が動いたときは、多くの場合、頬と鼻の領域にも影響が表れます。それらを踏まえて、全体が自然に動くように構築することが重要です。ボーンのリグを取り扱うときは、部分的に変形する可能性もあり、また特定の部分に集中しがちなので、この点に注意が必要です。
可動限界
マッスルポーズを定義する際の3つ目の原則は、可動限界です。マッスルポーズでは、生身の人間の最大限の可動範囲までマッスルの収縮を表現する必要があります。たとえば、Nose Wrinkle L(鼻の左側のしわ寄せ)についてポーズを定義する場合、左の図のバージョンは問題ありませんが、右の図のバージョンは動きが弱すぎます。


マッスルのポージングが弱すぎたり小さすぎたりすると、適切な範囲の動きを表現できません。なぜならポーズは、何らかの平均的な位置移動ではなく最大限の位置移動を表現するものであるためです。実際のアニメーションでマッスルを100%収縮させる機会はおそらくありませんが、最大限の位置移動が実際には最大限ではなかった場合、マッスルの収縮度がいずれも小さくなり、見た目の変化が乏しくなってしまいます。さらに、激しく動かしたときのポーズをマッスルで構築できないため、表情豊かなフェイシャルアニメーションを実現することが難しくなります。
ダイナミックパラメータの編集
マッスルダイナミックシステムでは、各マッスルの収縮度を時間とともに変化させることによってアニメーションをコントロールします。このビヘイビアを決定しているのは、基盤となっている運動プランニングと生体力学のモデルです。その一方で、各マッスルは解剖学上の特性がそれぞれ異なっているため、各マッスルが動く速度に関しても、人間の知覚上、それぞれ固有の期待値があります。人間の脳は、顔に表れる不自然な速い動きに気付きやすいのです。
したがって、平均の速度を決めるための設定可能なパラメータがマッスルごとに用意されています。マッスルの動きについては、収縮のフェーズと弛緩のフェーズを区別でき、前述のパラメータによってどちらのフェーズの速度も取り扱うことができます。使用できる2つのパラメータは、収縮持続時間およびスキューと呼ばれています。
この2つのパラメータの設定は手作業で行い、仮決めした値の効果をアニメーションで確認します。SGX Studioは、特定のマッスルを0から1までアニメーションさせた後、0まで戻すというマッスルプレビューの機能を備えています。この機能は、仮決めしたダイナミックパラメータで自然な結果を得られるかどうかを確認するのに便利です。どの場合にも欠かせないのは、キャラクターの顔の動きが速すぎたり遅すぎたりしないかなど、違和感の有無を確認することです。キャラクターが実際に生きていて、自分の意思で動いているところを想像してみてください。
マッスルのプレビューを確認する際のポイントは以下のとおりです。
収縮持続時間やスキューを判断するときは、マッスルが1.0まで完全に動いていることを確認してください。
デフォルトの動画プレイヤーでプレビューを確認する場合は、動きを何度かチェックできるよう、ループ再生に設定してください。
動きの自然さを判断する感覚が邪魔されないよう、話し声や音楽などの雑音が聞こえない環境で確認してください。
同様に、動画プレイヤーにあるプログレスバーなどの視覚的要素も、作業に集中できるよう非表示にしてください。
一気に変更するのではなく、少し調整を入れては確認するという方法で進めていきましょう。
収縮持続時間
マッスルの収縮持続時間は、マッスルが0から1へと完全に収縮するまでの所要時間です。SGX Studioでは、収縮持続時間の値をさまざまに変えてマッスルプレビューを生成し、適切な収縮持続時間を見つけることができます。たとえば、下に示したDimple L(左側のえくぼ)のマッスルプレビューの例では、収縮持続時間を3つの異なる値(200ms、460ms、700ms)に設定しています。収縮持続時間については、(0から1へと遷移する)収縮のフェーズに特に注意してください。
200ms
460ms
700ms
この顔でのDimple Lについては、収縮持続時間を460msとすると最も自然な仕上がりになることがわかります。
スキュー
マッスルのスキューは、マッスルが収縮するまでの所要時間と、再び弛緩するまで、つまり1から0に戻るまでの所要時間の差(存在する場合)を表現したものです。この差は比率の偏差として表現します。値が0を超えている場合、つまりポジティブ(正の)スキューである場合は、収縮にかかる時間よりも弛緩にかかる時間のほうが長く、値が0を下回っている場合、つまりネガティブ(負の)スキューである場合は、収縮にかかる時間よりも弛緩にかかる時間のほうが短いことを意味しています。値が0である場合、弛緩の所要時間は収縮の所要時間と同じです。
たとえば、下に示したDimple Lの3本の動画では、スキューの値をそれぞれ-0.35、-0.11、+0.1としています。
-0.35
-0.11
+0.1
ここでは、スキューの値を-0.11とすると、ニュートラルポーズへの戻り方が最も自然に見えます。
最初に収縮持続時間を設定してからスキューを設定してください。
新しいマッスルの作成
ポーズの作成とダイナミックパラメータの設定について上に示したガイドラインは、既存のマッスルだけでなく、新しいマッスルにも当てはまります。新しいマッスルが完全に分離されていること、変形のディテールが適切であること、可動限界に達した状態でポージングされていること、現実的な速度であることを確認してください。
ダイナミックパラメータについては、新しいマッスルを追加するとき、適切な部位に追加して、そのマッスルにとって適切な動きの特性が継承されるようにしましょう。動きの特性の一部はマッスルの追加後に編集できますが、適切な基準があると役に立ちます。また、編集ができず、体の部位に完全に依存する動きの特性もあります。
新しいマッスルを追加するときは、そのマッスルにとって適切な動きの特性が継承されるよう、最適な部位に追加しましょう。
特に便利なのは、触角やえら、カタツムリの目玉のような突起物の先端の目玉といった、人間にはない器官など、人間ではないキャラクターをコントロールするマッスルを追加できる機能です。このようなマッスルをキャラクターのノンバーバルエクスプレッションに追加すると、ノンバーバルのシステムによって、他のマッスルとともに動かすことができます。人間ではないキャラクターにマッスルを追加する場合は、身体上の位置や予想される速度という面で、新しいマッスルとの共通点が最も多い部位に追加してください。