アニメーション
[Microsoft エージェントは Windows 7 の時点で非推奨となり、以降のバージョンの Windows では使用できない場合があります。]
キャラクターのアニメーションには、性別、年齢、性格、行動が反映されます。 キャラクターに対して作成するアニメーションの数と種類は、キャラクターの動作と、それがさまざまな状況にどのように応答するかによって異なります。
従来のアニメーションと同様に、デジタル アニメーションでは、少し異なる一連の画像を作成し、順番に表示すると、アクションの錯覚を提供します。 高品質のアニメーション画像を作成するには、熟練したアニメーターが必要な場合がありますが、作成するキャラクターのスタイルとプレゼンテーションも品質に影響します。 単純な図形と特徴を持つ 2 次元文字は、高度にレンダリングされた文字と同じくらい効果的な (またはより効果的な) 場合があります。 有効なキャラクターを描くために現実的なイメージを作成する必要はありません。 人気のある漫画のキャラクターの多くはプレゼンテーションでは現実的ではありませんが、アニメーターがアクションと感情を伝える方法を理解しているため、効果的です。 付録では、アニメーションの基本的な設計原則に関する一般的な情報を提供します。
Microsoft Agent 文字用に作成する各アニメーションは、時間指定されたフレーム シーケンスで構成されます。 アニメーション内の各フレームは、1 つ以上のビットマップ イメージで構成されます。 画像は、必要に応じて小さくすることも、フレーム自体と同じ大きさにすることもできます。
目の点滅や指の動きなどのアニメーションの詳細は、フレームの追加画像として含めることができます。 複数の画像をオーバーレイして複合を作成し、レイヤー内のそれらの位置を変えることができます。 この手法を使用すると、複数のフレームで画像を再利用し、変更される詳細を変更できます。 たとえば、文字の手を振る必要がある場合は、フレームごとに、手以外のすべての基本イメージを使用し、基本イメージを別の手の画像でオーバーレイすることができます。 同様に、文字を点滅させる場合は、フレームごとに異なる目のセットを基本イメージの上に重ねることができます。 イメージは、基本イメージからオフセットすることもできます。 ただし、フレームのサイズ内に存在するイメージの部分のみが表示されます。
アニメーションには、必要な数のフレームを含めることができます。ただし、一般的なアニメーションでは約 14 フレームが平均されるため、6 秒以下で再生されます。 この短い時間の長さにより、ユーザー入力に対する文字の応答性が確保されます。 さらに、フレームの数が多いほど、アニメーション ファイルが大きくなります。 ダウンロードした Web ベースの文字の場合は、キャラクターのアニメーションがぎくしゃく表示されないように、フレームの適度なサイズのセットを提供しながら、アニメーション ファイルのサイズを可能な限り小さくします。
最終的なイメージを Windows ビットマップ (.BMP) 形式で格納する場合は、任意のグラフィックスまたはアニメーション ツールを使用してアニメーション フレームのイメージを作成できます。 イメージが作成されたら、Microsoft エージェント文字エディターを使用して、イメージのアセンブル、シーケンス、時刻指定、その他の文字情報の提供、およびすべての情報を最終的な文字ファイルにコンパイルします。
文字イメージは、256 色のパレットに設計する必要があります。20 個の標準の Windows システム カラーがパレット内の標準位置 (最初の 10 と最後の 10 の位置) に維持されます。 つまり、キャラクターのカラー パレットでは、標準のシステム カラーと最大 236 色の他の色を使用できます。 パレットを定義するときは、キャラクターがアニメーションで使用する任意の小道具を含めます。 文字のパレットがシステムの色の位置に色を配置すると、Microsoft エージェントによってパレットが作成されるときに、それらの文字の色がシステムの色で上書きされます。
文字のカラー パレットで使用する色の数が多いほど、文字の色の一部が 8 ビット (256) の色設定に構成されているシステムに再マップされる可能性が高くなります。 文字を使用するアプリケーションのパレットの使用も検討してください。 文字がホスト アプリケーションの色を再マップしないようにし、その逆も避けるのが最善です。 同様に、同時に表示される複数の文字をサポートする場合は、それらの文字の一貫性のあるパレットを維持する必要があります。 8 ビットカラー構成のユーザーを対象とする場合は、文字に標準のシステム カラーのみを使用することを検討してください。 ただし、別のアプリケーションでカラー パレットを広範囲に再定義した場合でも、文字の色の再マップが妨げられる可能性はありません。 より高い色解像度に設定されているシステムでは、カラー パレットが自動的に管理されるため、カラー パレットの再マップは問題になりません。
画像内で色の数を増やして、アニメーション ファイルの全体的なサイズを大きくすることもできます。 色の数とバリエーションの頻度によって、文字ファイルの圧縮の程度が決まる場合があります。 たとえば、少数の色のみを使用する 2 次元文字は、3 次元の網かけ文字よりも圧縮が優れています。
文字ファイル全体に同じカラー パレットを使用する必要があります。 異なるアニメーションのパレットを変更することはできません。 8 ビットのカラー構成をサポートする場合は、アプリケーションとサポートする予定の他の文字に同じパレットを使用することを検討してください。
パレット内の 11番目 の位置は、既定では透過性 (またはアルファ) の色として定義されますが、Microsoft エージェント文字エディターを使用して色を設定することもできます。 Microsoft Agent アニメーション サービスは、この色のピクセルを透明にレンダリングするため、イメージの色は透明度が必要な場所でのみ使用します。
アニメーションのパフォーマンスに影響を与える可能性があるため、キャラクターの形状を慎重に検討してください。 アニメーション サービスは、キャラクターを表示するために、画像全体に基づいて領域ウィンドウを作成します。 小さな不規則な領域では、多くの領域データが必要になることが多く、キャラクターのアニメーション パフォーマンスが低下する可能性があります。 そのため、可能な場合は、ギャップや 1 ピクセルの要素と詳細を避けてください。
文字の外側の端にアンチエイリアスを設定しないようにします。 アンチエイリアシングはジャグエッジを減らす良い手法ですが、隣接する色に基づいています。 キャラクターはさまざまな色の上に表示される可能性があるため、外側のエッジにアンチエイリアスを設定すると、他の背景に対してキャラクターが不適切に表示されることがあります。 ただし、この問題を発生させずに、文字の内部の詳細にアンチエイリアシングを使用できます。
通常、フレーム サイズは 128 x 128 ピクセル以下にする必要があります。 どちらのディメンションでも文字は大きくまたは小さくできますが、Microsoft エージェント文字エディターではこれを表示サイズとして使用し、より大きなフレーム サイズを定義すると文字イメージをスケーリングします。 128 x 128 フレーム サイズは、文字が画面上で占有する領域と妥当なトレードオフを行います。 アプリケーションでは、実行時に文字をスケーリングできます。
Microsoft エージェント文字エディターを使用して、アニメーションの各フレームが次のフレームに移動するまでの表示時間を設定できます。 各フレームの期間を少なくとも 1000 分の 1 秒 (1 秒あたり 10 フレーム) に設定します。それ以下のものは、一部のシステムでは認識できない可能性があります。 期間を長く設定することもできますが、アクションの不自然な一時停止は避けてください。
Microsoft エージェント文字エディターでは、指定した確率の割合に基づいて、アニメーション内のあるフレームから別のフレームへの分岐もサポートされています。 任意のフレームに対して、最大 3 つの異なるブランチを定義できます。 分岐を使用すると、再生時に異なるアニメーションとループするアニメーションを作成できます。 ただし、分岐を使用する場合は、アニメーションを次々に再生しようとすると問題が発生する可能性があるため、注意してください。 たとえば、ループまたは分岐アニメーションを再生する場合は、 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 つの基本的な口の位置を定義できます。
マウス アニメーションの画像
口の位置 | サンプル 画像 | [表記] |
---|---|---|
Closed |
|
通常の口閉じ形状。 "mom" のように "m"、"bob" のように "b"、"fife" のように "f" などの音素にも使用されます。 |
オープン幅 1 |
|
口は少し開いています, 全幅で. "gag" のように "g"、"l" のように "l" 、"hear" のように "ear" などの音素に使用されます。 |
オープンワイド 2 |
|
口は全幅で部分的に開いています。 "修道女" のように "n"、"お父さん" のように "d"、"tot" のように "t" などの音素に使用されます。 |
オープンワイド 3 |
|
口は全幅で開いています。 "hut" のように "u"、"head" のように "ea"、"hurt" のように "your" などの音素に使用されます。 |
オープン幅 4 |
|
口は全幅で完全に開いています。 "hat" のように "a"、"how" のように "ow" などの音素に使用されます。 |
Open-medium |
|
口は半分の幅で開いています。 "ahoy" のように "oy"、"hot" のように "o" などの音素に使用されます。 |
オープンナロー |
|
口は狭い幅で開いています。 "フープ"のように"o"、"希望"のように"o"、"ウェット"のように"w"などの音素に使用されます。 |