・E-mote演出マニュアル・
.ver 20180109
はじめに
この文書は、『えもふり』および『製品版E-mote』で、タイムラインによりキャラの演出をつける方法を解説するためのチュートリアルマニュアルです。
この文書を通して、タイムラインで演出をつけるための基本的な考え方を解説します。これにより、E-moteテンプレートに添付されているサンプルタイムラインを使って、簡単な演出が付けられるようになります。また、サンプルに留まらない独自のタイムラインを作るためのヒントも記します。
実行環境としては、E-moteエディタおよび、E-mote Unity SDK、E-mote WebGL SDK を想定してた記述をしています。それ以外のNative SDKとの対応関係は注釈で記します。
*E-moteエディタ・SDK・テンプレートの最新情報については、「E-mote更新履歴」をご参照下さい。
1.E-moteの演出の仕組み
モーション作成マニュアルなどでも解説していますが、改めて軽く復習をします。
E-moteでは、『目の上下左右の動き』『顔の表情』『腰のひねり』など様々なキャラの挙動を、それぞれに対応した名前のついた「変数」に対して任意の「値」を指定するという形で制御します。
ですが、この仕組みだけでは、「キャラがちょっと首を傾げて上目遣いに不思議そうな表情でこちらを見ている」と言う程度の演出をするだけでも、膨大な数の変数の値を一度に指定しないといけません。
そのため、E-moteには時系列での変数の値の変化をまとめて指定し演出作業を簡素化する仕組みが存在します。それが「タイムライン」です。
1-1.メインタイムライン
タイムラインには「メインタイムライン」と「差分タイムライン」と言う二つの種類があります。
「メインタイムライン」は、「変数の値の移り変わりを時系列で並べた」、だけのシンプルでわかりやすい用途のタイムラインです。
メインタイムラインはキャラの表情を変えたり、姿勢を変えたり、「永続的なキャラの挙動の変化を記述する」目的で使用します。
1-2.差分タイムライン
「メインタイムライン」に対して「差分タイムライン」は特殊な挙動をします。
差分タイムラインを再生すると、現在再生中のメインタイムラインに対して、差分タイムラインで指定した変数の値が「足し込まれる」形で反映されます。
メインタイムラインで「瞳左右」(face_eye_LR)に値「-10」を指定し、さらに差分タイムラインでも値「-10」を指定すると、合計「-20」と言う値が、変数に反映されます。
差分タイムラインは、メインタイムラインに対して、キャラクターの動作の「バリエーションを追加する」目的で使用します。
複数の差分タイムラインを同時に再生することで、演出の幅が飛躍的に広がります。
2.タイムラインの指定の仕方
2-1.エディタでの指定の仕方
エディタでは、「物理挙動編集」画面で、タイムラインの組み合わせを実際に再生してみることが出来ます。
「メインタイムライン」と、6スロット分の「差分タイムライン」を組み合わせて指定します。「頭出し」ボタンをクリックして、タイムラインの組み合わせを1から再生させることも出来ます。
差分タイムラインには、「仕草」「動作」などの異なる役割を持たせられます。スロット単位で役割を割り当て、タイムライン指定をしていくと、わかりやすく演出が行えます。具体例は後ほど解説します。
2-2.SDKでの指定の仕方
Unity SDK および WebGL SDK では、エディタでの指定と同様に、「1つのメインタイムラインと6つの差分タイムラインスロット」と言う形式で、再生するタイムラインを指定することが出来ます。
APIを使えば、簡単に独自のノベルエンジンにE-moteの演出を組み込む事が出来ます。
(「1つのメインタイムラインと6つの差分タイムラインスロット」と言う構成は、Unity SDK と WebGL SDK の独自レイヤで実装しているため、Native の E-mote SDK には同様のプロパティは存在していません。技術的には「差分タイムライン切り替え時にFadeOutTimeline()関数を使ったクロスフェードを実行する」形で、自然な切り替えを実現しています)。
3.演出構成法1:シンプルタイプ
「シンプルテンプレート_正面タイプ」に添付されているサンプルタイムラインの構成です。
この構成では、タイムラインを「メインタイムラインで定義する表情タイムライン」と、「差分タイムラインで構成する動作タイムライン」と言うシンプルな2種類の形式で組み立てています。
この構成方法は、指定が最低限なので一枚絵の差分指定をするような気軽さで演出が出来ることが最大のメリットです。
反面、表情変化の印象が画一的になることはデメリットと言えるでしょう。
3-1.表情
「笑顔」「大好き」「困る」「怒る」など、キャラの表情変化を身体の動作と共に定義したタイムラインです。
3-2.動作
「待機ループ」「歩行ループ」「右向き会話」「左向き会話」「左登場」「右登場」など、汎用的に使うキャラの演出動作を独立して定義した差分タイムラインです。
3.3組み合わせ方
メインタイムラインに表情を指定して、差分タイムラインスロットに動作を指定します。
「待機ループ」は、何もしていない時の身体の微妙なぶれを表しています。
「歩行ループ」「走行ループ」は歩いている時や走っている時の身体の上下動を表します。
「左向き会話」「右向き会話」は、隣にいる人物と会話をする時に目線を合わせる動きです。
「左向き」「右向き」は少し似ていますが、役割が異なり、一瞬だけ隣をちらっと見ると言う「仕草」を表す動きです。
「左退場」「右退場」「移動」などは、ノベルゲームでよくあるキャラの入退出時の移動演出を表す動きです。
差分タイムラインのスロット割り当てとしては、およそ以下のようにすると収まりがよいでしょう。
- 待機・歩行・走行ループ
- 退場・退出
- 右向き会話、左向き会話
- 仕草(右向き、左向き)
4.演出構成法2:ベーシックタイプ
「ベーシックテンプレート_正面タイプ」に添付されているサンプルタイムラインの構成です。
この構成では、シンプルタイプの構成に対して、「表情」を「顔の表情変化」と「身体の仕草」に分離しているところが最大の特徴です。
「身体の仕草」は差分タイムラインとして定義してあります。
つまり、2つ以上の「仕草」を組み合わせて再生することで、かけ算で動作のバリエーションを増やすことが出来るのです。
この構成方法は、キャラの感情に応じた多彩な身体表現を最低限の手間で演出可能なことが最大のメリットです。
その代わり、表情のみで指定を行なうのに比べて確実に試行錯誤の手間が増えることがデメリットと言えるでしょう。
4-1.表情
「喜ぶ00」「喜ぶ01」「怒る00」「悲しい00」など、キャラの感情変化の表情部分を抜き出したタイムラインです。
主に顔の表情変化で構成されています。身体の動作も入っていますが、その動きは控えめです。
4-2.仕草
「うん」「うんうん」「いやいや」「疑問」「にっこり」「仰ぎ」「うつむき」「ぶりっこ」など、キャラの感情変化の、身体動作部分を抜き出したタイムラインです。
4-3.動作
これらに加えて、シンプルタイプと同様の「動作」タイムラインがあります。
4-4.組み合わせ方
「表情」をメインタイムラインに指定するのは「シンプルタイプ」と同様です。
これに対して「仕草」を差分タイムラインで組み合わせるのが、ベーシックタイプのポイントです。
例として、メインタイムラインに「哀しい01」、差分タイムラインに「うつむき」と「いやいや」を同時に指定することで、「うつむきがちに首を振る哀しみの表情」が表現出来ます。
同時に再生する差分タイムラインは3個を越えると管理がしづらくなるので、スロット割り当てとしては、およそ以下のようにすると収まりがよいでしょう。
- 待機・歩行・走行ループ
- 退場・退出
- 右向き会話、左向き会話
- 仕草1
- 仕草2
5.独自の演出構成のためのヒント
タイムラインをいじっていると、その内サンプルタイムラインの画一的な演技が物足りなくなってくるかも知れません。
そうした時に、独自のタイムラインを作って行くための指針をいくつかヒントとして記します。
5-1.構成はそのまま、タイムラインの内容をカスタマイズする
シンプルタイプやベーシックタイプのタイムライン構成はそのままに、タイムラインの中身だけをキャラの性格に合わせてカスタマイズする手法です。
同じ「喜ぶ」「わくわく」する動作でも、控えめな女の子と活発な男の子では異なる動作をするはずです。
このカスタマイズ手法は、タイムラインの名前自体は変わらないので、特にノベルゲームなどのテキストのタグで表情を記述していくタイプの演出作業との相性が良いです。
5-2.スペシャルタイムラインを追加する
キャラごとに特有の印象的な動作を長回しで定義した「スペシャルタイムライン」を用意しておくと、キャラの印象が一気に華やかになります。
ただし、この手の「決めポーズ」は多用すると陳腐になるので、ノベルゲームの場合であれば2、3パターン用意しておいて、10~30分に一度使用する程度の頻度で使用すると印象がよくなります。
5-3.タイムラインの構成法自体をカスタマイズする
「シンプルタイプ」と「ベーシックタイプ」はあくまでタイムラインの構成方法の1サンプルでしかありません。
何と何を分離して、どのように組み合わせられるようにするのか、作業の効率と演出の幅の広さのトレードオフで、演出者の意図に合わせてカスタマイズする余地は常にあります。
この文書での説明では、簡便化のためにUnity SDK や WebGL SDK に合わせた「1つのタイムラインに6つの差分タイムラインスロット」の構成での解説に終始しましたが、ローレベルAPIを使えば差分タイムラインどころかメインタイムラインも複数同時再生することが可能なので、分解の仕方は無数に考えることが出来ます。