Animations

[Microsoft エージェントは Windows 7 の時点で非推奨となり、以降のバージョンの Windows では使用できない可能性があります。

キャラクターのアニメーションには、性別、年齢、性格、行動が反映されています。 キャラクターに対して作成するアニメーションの数と種類は、キャラクターの動作と、それがさまざまな状況にどのように対応するかによって異なります。

従来のアニメーションと同様に、デジタル アニメーションでは、少し異なる一連の画像を作成し、順番に表示すると、アクションの錯覚を提供します。 高品質のアニメーション画像を作成するには熟練したアニメーターが必要な場合がありますが、作成するキャラクターのスタイルとプレゼンテーションも品質に影響します。 単純な図形と特徴を持つ 2 次元文字は、高度にレンダリングされた文字と同じ (またはより効果的な) 効果を持つ場合があります。 効果的なキャラクターを描くために現実的なイメージを作成する必要はありません。 人気のある漫画キャラクターの多くはプレゼンテーションでは現実的ではありませんが、アニメーターがアクションと感情を伝える方法を理解しているため、効果的です。 付録では、アニメーションの基本的な設計原則に関する一般的な情報を提供します。

フレーム

Microsoft Agent 文字用に作成する各アニメーションは、時間指定されたフレーム シーケンスで構成されます。 アニメーションの各フレームは、1 つ以上のビットマップ イメージで構成されます。 画像は、必要に応じて小さくすることも、フレーム自体と同じ大きさにすることもできます。

フレームの追加画像として、目の点滅や指の動きなどのアニメーションの詳細を含めることができます。 複数の画像をオーバーレイして合成を作成し、レイヤー内の位置を変えることができます。 この手法を使用すると、複数のフレームで画像を再利用し、変更される詳細を変更できます。 たとえば、キャラクターウェーブを手にしたい場合は、フレームごとに、手以外のすべてを含む基本イメージを使用し、基本イメージを異なる手の画像でオーバーレイすることができます。 同様に、文字を点滅させる場合は、フレームごとに異なる目のセットを基本イメージの上にオーバーレイできます。 イメージは、基本イメージからオフセットすることもできます。 ただし、フレームのサイズ内に存在するイメージの部分のみが表示されます。

アニメーションには、必要な数のフレームを含めることができます。ただし、一般的なアニメーションは約 14 フレームを平均して、6 秒以下で再生されます。 この緩やかな時間は、ユーザー入力に対する文字の応答性を保証します。 さらに、フレームの数が多いほど、アニメーション ファイルが大きくなります。 ダウンロードした Web ベースの文字の場合は、アニメーション ファイルのサイズをできるだけ小さくし、キャラクターのアニメーションがぎくしゃくしないように、適切なサイズのフレーム セットを提供します。

イメージデザイン

最終的なイメージをWindowsビットマップ (.BMP) 形式で格納する場合は、任意のグラフィックスまたはアニメーション ツールを使用してアニメーション フレームのイメージを作成できます。 イメージが作成されたら、Microsoft エージェント文字エディターを使用して、イメージのアセンブル、シーケンス、時刻の設定、その他の文字情報の提供、すべての情報の最終文字ファイルへのコンパイルを行います。

文字イメージは、256 色のパレットに設計する必要があり、パレット内の標準位置 (最初の 10 と最後の 10 の位置) に 20 の標準Windowsシステムカラーを保持する必要があります。 つまり、キャラクターのカラー パレットでは、標準のシステム カラーと最大 236 色の他の色を使用できます。 パレットを定義するときに、キャラクターがアニメーションで使用する小道具を含めます。 文字のパレットでシステム カラーの位置に色を配置すると、Microsoft Agent がパレットを作成するときに、それらの文字の色がシステムの色で上書きされます。

文字のカラー パレットで使用する色の数が多いほど、8 ビット (256) の色設定に構成されたシステムで、キャラクターの色の一部が再マップされる可能性が高くなります。 文字が使用されるアプリケーションのパレットの使用も検討してください。 文字がホスト アプリケーションの色を再マップしないようにし、その逆も避けるのが最善です。 同様に、同時に表示される複数の文字をサポートする場合は、それらの文字の一貫性のあるパレットを維持する必要があります。 8 ビットカラー構成のユーザーを対象とする場合は、文字に標準のシステム カラーのみを使用することを検討してください。 ただし、別のアプリケーションがカラー パレットを広範囲に再定義する場合、これは文字の色の再マッピングを妨げる可能性はありません。 より高い色解像度に設定されたシステムでは、カラー パレットが自動的に管理されるため、カラー パレットの再マッピングは問題になりません。

画像で色の数を多く使用すると、アニメーション ファイルの全体的なサイズを大きくすることもできます。 色の数とバリエーションの頻度によって、文字ファイルがどの程度圧縮されるかが決まります。 たとえば、少数の色のみを使用する 2 次元文字は、3 次元の網かけ文字よりも圧縮が優れています。

文字ファイル全体に同じカラー パレットを使用する必要があります。 異なるアニメーションのパレットを変更することはできません。 8 ビットのカラー構成をサポートする場合は、アプリケーションとサポートする予定の他の文字に同じパレットを使用することを検討してください。

パレットの 11 番目 の位置は、既定では透明度 (またはアルファ) の色として定義されますが、Microsoft エージェント文字エディターを使用して色を設定することもできます。 Microsoft Agent アニメーション サービスは、この色のピクセルを透明にレンダリングするため、イメージの色は透明度が必要な場合にのみ使用します。

アニメーションのパフォーマンスに影響を与える可能性があるため、キャラクターの形状を慎重に検討してください。 アニメーション サービスは、キャラクターを表示するために、全体の画像に基づいて領域ウィンドウを作成します。 不規則な領域が小さい場合、多くの場合、より多くの領域データが必要になり、キャラクターのアニメーションのパフォーマンスが低下する可能性があります。 そのため、可能な場合は、ギャップや単一ピクセルの要素と詳細を避けてください。

文字の外側の端をアンチエイリアシングしないようにします。 アンチエイリアシングはジャグエッジを減らす良い手法ですが、隣接する色に基づいています。 キャラクターはさまざまな色の上に表示される場合があるため、外側のエッジをアンチエイリアシングすると、他の背景に対してキャラクターが不適切に表示されることがあります。 ただし、この問題を発生させずに、キャラクターの内部の詳細にアンチエイリアシングを使用できます。

フレーム サイズ

通常、フレーム サイズは 128 x 128 ピクセル以下にする必要があります。 どちらのディメンションでも文字を大きくまたは小さくできますが、Microsoft エージェント文字エディターではこれを表示サイズとして使用し、より大きなフレーム サイズを定義した場合は文字イメージを拡大縮小します。 128 x 128 のフレーム サイズは、キャラクターが画面上で占有するスペースと合理的なトレードオフを行います。 アプリケーションでは、実行時に文字をスケーリングできます。

フレームの継続時間

Microsoft エージェント文字エディターを使用して、アニメーションの各フレームが次のフレームに移動するまでの表示時間を設定できます。 各フレームの期間を少なくとも 1000 分の 1 秒 (1 秒あたり 10 フレーム) に設定します。システムによっては、認識できない可能性があります。 また、期間を長く設定することもできますが、アクションの不自然な一時停止は避けることができます。

また、Microsoft Agent Character Editor では、指定した確率の割合に基づいて、アニメーション内のあるフレームから別のフレームへの分岐もサポートされています。 任意のフレームに対して、最大 3 つの異なるブランチを定義できます。 分岐を使用すると、再生時に変化するアニメーションと、ループするアニメーションを作成できます。 ただし、分岐を使用する場合は、アニメーションを 1 つずつ再生しようとすると問題が発生する可能性があるため、注意してください。 たとえば、ループまたは分岐アニメーションを再生する場合、 Stop メソッドを使用しない限り、無期限に継続できます。 不明な場合は、分岐を避けてください。

画像がなく、期間が 0 に設定されているフレームは、アニメーションに含まれていると表示されません。 この機能を使用すると、表示されずに分岐をサポートするフレームを作成できます。 ただし、画像がまだないフレームの期間が 0 より大きい場合は、表示されます。 そのため、アニメーションに空のフレームを含めないようにします。これは、ユーザーが空のフレームを、キャラクターが非表示の場合と区別できない可能性があるためです。

フレームの切り替え

アニメーションをデザインするときは、アニメーションとの間をスムーズに切り替える方法を検討してください。 たとえば、文字ジェスチャが右に移動するアニメーションと、キャラクター ジェスチャが左にあるアニメーションを作成する場合、キャラクターをある位置から別の位置にスムーズにアニメーション化する必要があります。 これをアニメーションに組み込む場合もありますが、より良い解決策は、キャラクターの開始位置と戻り位置の中間位置または遷移位置を定義することです。 ニュートラル位置へのアニメーション化は、各アニメーションの一部として、または個別のアニメーションとして組み込むことができます。 Microsoft Agent Character Editor では、キャラクターのアニメーションごとに補完的な Return アニメーションを指定できます。 通常 、Return アニメーションは 2 ~ 4 フレーム以下にする必要があるため、キャラクターはニュートラルな位置にすばやく切り替えることができます。

たとえば、"gesturing right, then gesturing left" シナリオを使用して、 GestureRight アニメーションを作成し、キャラクターがニュートラルな位置に表示されるフレームから始めて、キャラクターの手を右に拡張する画像を含むフレームを追加できます。 次に、 Return アニメーションを作成します。ニュートラルな位置にキャラクターを返す画像を含む補完的なアニメーションです。 これは GestureRight アニメーションの Return アニメーションとして割り当てることができます。 次に、ニュートラル位置から始まり、キャラクターの腕を左に拡張する GestureLeft アニメーションを作成します。 最後に、このアニメーションの補完的な Return アニメーションも作成します。 通常、Return アニメーションは、前のアニメーションの最後の画像に続くイメージで始まります。

アニメーション内または Return アニメーションを使用して、同じニュートラル位置に開始して戻ると、任意の順序で任意のアニメーションを再生できます。 Microsoft エージェント アニメーション サービスは、さまざまな状況で指定された Return アニメーションを自動的に再生します。 たとえば、サービスは、キャラクターのアイドリング状態アニメーションを再生する前に、指定された Return アニメーションを再生します。 アニメーションがまだニュートラルな位置で終わっていない場合は、 Return アニメーションを定義して割り当てることをお勧めします。

特定のアニメーション間で独自の切り替えを提供する場合。たとえば、常に適切に定義された順序で再生するため、 Return アニメーションの定義を避けることができます。 ただし、ニュートラルな位置からアニメーションのシーケンスを開始して終了することをお勧めします。

話すアニメーション

キャラクターのデザインにアニメーションの口や音声出力の表示がない場合を除き、キャラクターが話せるようにする各アニメーションの口の画像を提供します。 一般に、口の動きは非常に重要です。 口の動きが音声と合理的に同期されていないと、文字のインテリジェントさ、好感度、または正直さが低下する可能性があります。 口の画像を使用すると、キャラクターが音声出力にリップ同期できます。 口の画像は、ビットマップ ファイルWindows個別に定義します。 アニメーション内の他のイメージと同じカラー パレットと一致する必要があります。

Microsoft Agent アニメーション サービスは、アニメーションの最後のフレーム (アニメーションの 話すフレーム とも呼ばれます) の上にマウス アニメーション フレームを表示します。 たとえば、 文字が GestureRight アニメーションで話すと、アニメーション サービスは GestureRight の最後のフレームにマウス アニメーション フレームをオーバーレイします。 アニメート中にキャラクターが話すことができないので、アニメーションの最後のフレームにのみ口の画像を提供します。 さらに、話すフレームはアニメーションの終了フレームである必要があるため、キャラクターはループ アニメーションで話すことができません。

通常、口の画像はフレーム (および基本イメージ) と同じサイズで指定しますが、口の動きの一部としてアニメーション化する領域のみを含め、残りの画像を透明な色でレンダリングします。 画像の上に重ね合わせると、読み上げフレーム内の画像と一致するようにイメージを設計します。 正しく一致させるには、キャラクターが話すアニメーションごとに個別の口の画像セットを作成する必要があります。

口の画像には、あごやキャラクターの体の他の部分など、口自体以上のものを含めることができます。 ただし、手または脚を動かすと、表示される口のオーバーレイが話し言葉の現在の音素に基づいているため、ランダムに移動しているように見えることがあることに注意してください。 さらに、サーバーは口の画像を読み上げるフレーム イメージのアウトラインにクリップします。 サーバーは基本イメージを使用してキャラクターのウィンドウ境界を作成するため、マウス オーバーレイ イメージを基本読み上げフレーム イメージのアウトライン内に残すよう設計します。

Microsoft エージェント文字エディターを使用すると、次の表に示す一般的な音素口の図形に対応する 7 つの基本的な口の位置を定義できます。

口のアニメーション画像

口の位置 サンプル 画像 表現
クローズ
通常の口閉じ形状。 "mom" のように "m"、"bob"、"f" のように "fife" のように "b" などの音素にも使用されます。
オープン幅 1
口は少し開いています, 全幅で. "gag" のように "g"、"l" ("l" のように "l"、"hear" のように "ear" など) などの音素に使用されます。
Open-wide 2
口は全幅で部分的に開いています。 "修道女" のように "n"、"dad" のように "d"、"tot" のように "t" などの音素に使用されます。
オープン幅 3
口は全幅で開いています。 "hut"、"head"、"your"、"hurt" のように "u" などの音素に使用されます。
Open-wide 4
口は全幅で完全に開いています。 "hat" のように "a" 、"how" のように "ow" などの音素に使用されます。
Open-medium
口は半分の幅で開いています。 "ahoy" のように "oy"、"hot" のように "o" などの音素に使用されます。
Open-narrow
口は狭い幅で開いています。 "フープ"、"希望"、"w" のように "wet" のように "o" などの音素に使用されます。