ビヘイビアコントロール
実際の人間の動きをコピーするフェイシャルモーションキャプチャーとは異なり、手続き型ソリューションのSGXではビヘイビアを生成します。生成するということは、自由に手を加えられるということです。SGXにはキャラクターの演技を編集できる機能を多数搭載しているため、人間の動きに依存するモーションキャプチャーとは違い、キャラクターの動きを自由につけることが可能です。
SGXでは、以下のようにさまざまな時点でビヘイビアを指定できます。
処理の開始前:スクリプトのマークアップ(「ビヘイビアマークアップ」を参照)
処理の進行中:バッチ全体、または個別のイベントに適用される処理パラメータ(「SGX Director」と「SGX Producer」参照)
処理の終了後:ビヘイビアのメタデータの編集(「イベントの編集」を参照)
ビヘイビアコントロールには、モードとモディファイアという2つのタイプがあります。
ビヘイビアモード
ビヘイビアモードでは、ビヘイビアのパターン全体をラベル1つで簡単に決定できます。アニメーションの進行中、キャラクターは常に何らかのビヘイビアモードになっています。ビヘイビアモードの定義は、キャラクターセットアップの一環として行います(概要については、「ビヘイビアモード」参照)。各ビヘイビアモードには、そのモードを反映するエクスプレッションが多数含まれています。たとえば、「Happy」(うれしい)というビヘイビアモードがある場合、そのモードには、うれしさを表すさまざまなエクスプレッションを定義します。キャラクターがあるビヘイビアモードになっているときは、そのモードに含まれているエクスプレッションが採用され、SGXのアルゴリズムで決定されるタイミングやダイナミクスに従って自動で展開されます。
ビヘイビアモードは、「うれしい」、「怒っている」、「疲れている」、「苦悩している」といった心や体の状態と対応させることができます。キャラクター1人に対して設定できるビヘイビアモードに制限はありません。必要に応じていくつでも作成できます。
どのキャラクターにも、デフォルトのビヘイビアモードが1つあり、モードが何も指定されていない場合に有効になります。
以下の動画は、ビヘイビアモードが次々に変化するアニメーションの例です。各時点のビヘイビアモードが「mood」として画面上部に表示されます。
オートモード
SGXではアニメーションを細かく調整することも可能ですが、高品質のアニメーションを大量に生成することもその役割のひとつです。そのため、SGXには声の性質をAIで検出し、自動のビヘイビアモードをトリガーする機能が搭載されています。この自動で生成されるビヘイビアモードを、オートモードといいます。オートモードは、対象のキャラクター用に作成したいずれかのビヘイビアモードとして定義できます。
現在使用できるオートモードは以下の4つですが、このほかにも開発中です。
ポジティブ:うれしいといったポジティブな感情が声から検出された場合。
ネガティブ:悲しみや怒りなど、ネガティブな感情が声から検出された場合。
エフォート:うなり声や何らかのリアクションをしている声が検出された場合。体を使った動作をしているときや、体に何らかの衝撃を受けたときに発せられる、言葉ではない音声を指します。
笑い:声から笑っている様子が検出された場合。
オートモードは、以下のようにキャラクターの各ビヘイビアモードに紐づけられますが、この設定はいつでも変更可能です。

どのオートモードを有効にするかはユーザー次第です。オートモードがアクティブになっていない場合、ビヘイビアモードの変更は発生しません。
ビヘイビアモディファイア
ビヘイビアモディファイアは、動きの大きさや速度、頻度など、演技の各要素を調整できる数値のパラメータです。ビヘイビアモードと同様、この値はイベントのバッチ全体にも個々のイベントにもイベントの下位区間にも適用できます。
自動で出力されたアニメーションで見られる問題を微調整します。修正する対象がない限り、通常は使用する必要はありません。
ビヘイビアモディファイアの概要については、以下の表をご覧ください。個々のモディファイアについては、その下で詳しく説明します。
モディファイア | 説明 | 最小値 | デフォルト(標準値) | 最大値 |
スピーチのすべての動きの強さに適用されるスケール係数 | 0.0(動きなし) | 1.0 | 2.0 | |
スピーチのすべての動きの速度に適用されるスケール係数 | 0.0(変化なし) | 1.0 | 2.0 | |
口の動きを大きくする | 0.0(通常) | 0.0 | 1.0 | |
顎の開き具合の上限 | 0.0(常に閉じた状態) | 1.0 | 1.0(制限なし) | |
ノンバーバルのすべての動きの強さに適用されるスケール係数 | 0.0(動きなし) | 1.0 | 2.0 | |
ノンバーバルのすべての動きの速度に適用されるスケール係数 | 0.0(動きなし) | 1.0 | 2.0 | |
ブレス(呼吸)のすべての動きの強さに適用されるスケール係数 | 0.0(動きなし) | 1.0 | 2.0 | |
ブレスのすべての動きの速度に適用されるスケール係数 | 0.0(動きなし) | 1.0 | 2.0 | |
まばたきの頻度に適用されるスケール係数 | 0.0(まばたきなし) | 1.0 | 2.0 | |
目のマイクロダートの頻度に適用されるスケール係数 | 0.0(ダートなし) | 1.0 | 2.0 |
スピーチの速度と強調表現は、音声的処理でのみ有効です。音響的処理では使用できません。(「音声的・音響的リップシンク処理」参照)
スピーチの強さ
スピーチの強さはスピーチのすべての動きの強さに作用するモディファイアで、リップシンクの量を調整するノブのようなものです。マッスルの動きの度合いは通常、スピーチの強度に合わせてSGXが決定しますが、アニメーションの動きがスピーチの強度に対して弱い場合などは、このモディファイアを使用するとスピーチを強めることができます。反対に、音声に対して動きが大きい場合は、スピーチの強さを弱めることができます。
スピーチの強さを0に設定すると、リップシンクは実質的にオフになります。
なお、スピーチの強さを上げても、それに比例して動きの強さがかならず上がるわけではありません。スピーチの動きは、複雑なマッスルダイナミックモデルによって制御されます(「弊社のテクノロジー」参照)。このモデルでは、モデルの速度と加速度の制限に従って物理的に自然な動作が求められます。つまり、スピーチの強さを上げたとしても、ほかの動作との兼ね合いでマッスルがその強さに対応する位置まで動く時間がない場合もあります。この制限を回避する方法としては、スピーチの速度か強調表現も併せて上げることです。
以下は、スピーチの強さのサンプルアニメーションです。各設定値は次のとおりです。
1.0(デフォルト)
0.3(通常の強さの30%)
2.0(通常の強さの200%)
スピーチの速度
マッスルの速度はマッスルダイナミックモデルによって制御されますが、早口のキャラクターを強調する場合などは、マッスルの動きを速くすることができます(ただし、システムが速度の速いスピーチを検出すると、動きはその速度に見合ったものに調整されます)。スピーチの速度モディファイアは、スピーチの動きの基本速度に対して全体にかかる乗数です。
以下は、スピーチの速度のサンプルアニメーションです。各設定値は次のとおりです。
1.0(デフォルト)
0.3(通常の強さの30%)
2.0(通常の強さの200%)
強調表現
強調表現とは、話すときの舌や唇の動きを大きくして、音を明瞭に伝える手法です。強調表現モディファイアは、もごもごと話すのではなく、短い時間の中でも一音一音をはっきりと伝えようとする場面などで、音と動きがマッチしていない場合に微調整として使用できます。なお、調整する場合は、値を大きく変えるとカクついているように見えてしまうため、少し変える程度で十分です。
モディファイアはデフォルトが1.0で範囲が0.0~2.0のものがほとんどですが、強調表現の場合はデフォルトが0.0で、範囲が0.0~1.0となっています。
以下は、強調表現のサンプルアニメーションです。各設定値は次のとおりです。
0.0(デフォルト)
0.2
0.5
1.0
顎の制限
顎の制限は顎の開き具合の許容度を制限できるモディファイアで、歯を食いしばった状態にも設定することができます。値が小さければ、顎の開き具合の許容度も低くなります。1.0では無制限になり、0.0にすると顎が完全に閉じた状態になります。このモディファイアは設計上、どうしてもスピーチの動きを妨げてしまうため、通常のスピーチに使用する場合はその点に気をつけてください。
以下は、顎の制限のサンプルアニメーションです。各設定値は次のとおりです。
1.0(デフォルト)
0.7
0.1
ノンバーバルの強さ
ノンバーバルの強さは、ノンバーバルのすべての動きの強さに作用するモディファイアで、スピーチマッスルのみに作用するスピーチの強さを補う役割があります。通常、ノンバーバルエクスプレッションの度合いは、スピーチの強度に合わせてSGXが決定しますが、アニメーションの動きがスピーチの強度に対して弱い場合、このモディファイアを使用するとノンバーバルの動きを強めることができます。反対に、音声に対して動きが大きい場合は、ノンバーバルの動きを弱めることができます。
ノンバーバルの強さを0に設定すると、ノンバーバルアニメーションは実質的にオフになります。
ノンバーバルの強さとスピーチの強さは一緒に変更することをおすすめします。下のサンプルアニメーションでは、どちらも次の値に設定しています。
1.0(デフォルト)
0.3
2.0
ノンバーバルの速度
ノンバーバルの速度は、ノンバーバルのマッスルの動きの基本速度に作用するモディファイアです。スピーチマッスルにのみ適用されるスピーチの速度モディファイアに似ています。
通常、マッスルの速度はマッスルダイナミックモデルによってコントロールされますが、リアクションにキレがあって自動アニメーションでは表現できないといった場合、このモディファイアを使用するとマッスルの動きを速くすることができます。
ブレスの強さ
ブレスの強さはブレス(呼吸)の強度に作用するモディファイアです。自動生成のアニメーションよりもブレスを深く、あるいは浅くしたいという場合に使用できます。
ブレスの速度
ブレスの速度はブレスの動きの速度とアイドル状態になっている間のブレス回数に作用するモディファイアです(ブレスが速くなると、1分間あたりのブレス回数も増えます)。キャラクターの息が上がっているように見せる場合は、この値を大きくします。落ち着いている状態にする場合は、値を小さくします。
まばたきの頻度
まばたきは、人間のまばたきのパターンをモデル化したものを使用してSGXで自動的に生成されます。ある瞬間にまばたきが起きるかどうかは、その時点での音声のプロパティや顔のほかの部分の動作によって決まりますが、まばたきの頻度モディファイアを使用すると、まばたきの基本的な頻度を変更できます。まばたきの頻度を下げる場合は、この値を1.0未満にします。頻度を上げる場合は、1.0よりも大きい値に設定します。
まばたきの頻度を0に設定すると、まばたきは実質的にオフになります。
ダートの頻度
SGXでは、目が水平方向に断続的に小さく運動すること(速い眼球運動)をマイクロダートと呼んでいます。これは、人間が話し相手を見ているときの様子を再現したもので、このビヘイビアによってキャラクターがよりリアルになります。
まばたきと同様に、マイクロダートは人間の眼球運動のパターンをモデル化したものを使用してSGXで自動的に生成されます。ある瞬間にマイクロダートが起きるかどうかは、その時点での音声のプロパティや顔のほかの部分の動作によって決まりますが、ダートの頻度モディファイアを使用すると、ダートの基本的な頻度を変更できます。たとえば、アイダートの頻度が高いと感じた場合は、この値を1.0未満にします。アイダートの頻度が低いと感じた場合は、1.0よりも大きい値に設定します。
ダートの頻度を0に設定すると、目のマイクロダートは実質的にオフになります。