2018/05/18

現行3Dゲームエンジンで起こりがちな事(ピンポイント過ぎ)

 Steam版PCゲーム「リトルウィッチアカデミア 時の魔法と七不思議」のネット上のレビューに目を通していて、やはり・・・という記述を目にした。ゲームは3Dゲームエンジンunityを使用しており、キャラクターは当然3Dモデルで処理されている。やはり・・・と言ったのは、手描きと3Dモデルによる表現との違和感に対するネガティブな反応である。海外では、何もそこまで・・・とすら思うような激しい反応もある。

 まぁ、「リトルウィッチアカデミア」の作劇作法は、それまでの日本アニメの作法をいったん吸収消化してみた後の「パワーパフガールズ」辺りカートゥーンでの作劇作法に近い印象が強い(チビの市長、すらも既に定型表現と見なされかねないレベルだ)。加えて、魔法周りのお約束描写は(恐らく意図的に)英国のオリジナルに近いまま導入している。この点は、「魔法使いプリキュア」がハリーポッター作品などで近代化加工など変形した形で使われた「お約束」描写を再加工、再使用したのとは対照的である。この見立てに従えば、海外の多くの視聴者にとって「日本アニメの作画技法」が他作品との無視できない差別因子、目新らしさ、ひいては無二の魅力となる可能性を秘める。もちろんこれら因子は作品の拒絶要因ともなるがそれはそれ、むしろコアなファンを獲得できる可能性があるとも見るべきだ。「日本アニメの作画技法」に魅力を感じたコアな作品ファンがいたら・・・そりゃその魅力の再現に限界のあるゲームでのキャラ描写にはちょっと煩くなるかもね。そもそもカット割りの概念が別物過ぎる。

 閑話休題。

 この類の手描きと3Dモデルとによるキャラ表現の違和感はunityかどいうかを問わず現行の3Dゲームエンジンでは避けられず、かつその発生はとっくの昔から予測されていた筈だ。絵が描けて、3Dモデリングをやったことがある人なら直ぐに分るのではないかと思う。

 現行の3Dゲームエンジンのカメラのパース(パースペクティブ)は基本的に画面内のどの位置でも同じである。これは「現実のカメラにとっては当たり前」だが、現実のカメラの特性の制限なんぞ無関係な手描きアニメの絵では、パースが画面内に複数存在することも珍しくない。顔だけ煽られているようなカットや頭部が相対的に大きめに描かれた手描きアニメの絵は、少なくとも顔とそれ以外の部分でパースなどが違う状態と言って良い。背景とキャラのパースやカメラの位置。向きが違うって?いや、ふつーふつー。

 厄介なのは、ゲーム「リトルウィッチアカデミア 時の魔法と七不思議」のキャラクター絵のリファレンスが、複数のパースが存在する手描きの絵・・・単に歪んでいるのではなく、その多くは特定の演出意図や作画者の快感則を反映している・・・であることだ。従って、このようなリファレンスの絵の3Dエンジンでの再現またはシミュレートは演出の対象とする価値があるものと個人的には信じるが、それを実現する具体的な手段がエンジン側に用意されていないため、実現が困難なのだ。さらに言えば、米国のカートゥーン製作業界に同等または類似なニーズが見られないため、他者が実現手段を用意してくれる見込みも無い。

 ピクサー作品ではエンディングクレジットのみ2Dとなっていることがある(例えば、「レミーのおいしいレストラン」)。これらを観れば分ることは、2D部と3D部(本編)では見た目の風合いや動きのタイミングが全く違うこと、つまり2Dと3Dは端から別物であり、一方が他方をシミュレートするなんて考えは製作者たちの頭の中に完全に無さそうということだ。この状況は、セルシェーディング(3DCGでセル塗りのシミュレートと輪郭線の付加を行う、すなわち自動的にセルアニメ調の絵を作る)が多用されている日本の状況とは完全に異なる。3D部を如何に2D部に近づけていくか・・・その涙ぐましいまでの努力の結果及び進化の過程は、ある作品以降のプリキュアシリーズ作品のエンディングにいい塩梅に凝縮されている気がする。個人的にキモと思っているのはやはり顔の扱いで、表情、視線の動きをちゃんとつけ「続ける」ことと、カメラの位置と向きに対する顔の向き(特に顎の向き)/首の角度は「現実の無視は辺り前」の調整が必須だ。これらを怠ると「プラスチックのお面を付けたダンサー達によるプリキュア舞台ショー風(すげーな!「風」!)」な動画になってしまう。

・・・なーんて感じの話に最初に思い至ったのは2010年ごろに遡る。なお「3Dゲームエンジン&パース」の議論に限れば、その始まりは90年代のゲームQuakeの登場まで遡る・・・より広い範囲が見えるようにするパースの変更はチートにならないの?って話だ。当時の結論はノー、人間の実視界よりも広い範囲の画像は「実際に見ている光景と脳が錯覚しにくく」、かつ「画像内の歪が大きいと認知段階での歪補正に必要な脳の負荷が激増」してしまい、プレイヤーの反応がむしろ遅くなる可能性が高いからだ。ただし人間の脳のことである、訓練でどうなるかは分かったもんじゃない。

 さて2010年ごろ、3DCGプログラムであるLightwave3Dには既に「アドバンストカメラ」なる不思議な(そして他人が使った例を未だほぼ知らない)カメラが実装されていた。このカメラの特徴は、パースなどのカメラ/レンズ特性の画面内の分布を制御できる点にある。つまり、同一画面内の位置ごとに複数のパースを与えられるということだ。

 適用例は例えばコレ、 画面内の物体(宇宙船)が瞬間移動する直前に歪む効果を、レンズ表面に二次元的な凹凸分布を与えることで実現したものだ。右下のイメージ内のDisplacement mapという絵で、画面内各位置に対応したレンズ表面の凹凸を与えている。白いほどレンズ表面は局所的に出っ張り、黒いほど引っ込んでいる。Displacement map自体もアニメーションで与えられるので、イメージの歪みも時間変化させられる。実際の動画はこんな感じだ。なお、歪み効果以外の部分は気にせずに・・・音楽については元Modファイル使いだったところを鑑みて察して欲しい・・・
  なおこの種の歪みの効果は、歪み無しのCG画像に後処理で加えるのが普通であり、動画はいわばアイディアのプレゼンのようなものだ・・・高額の後処理用プログラムを持っていなくともこれぐらいはできるんだぜ、ってね。

 本題に戻ろう。個人的には、unityのような3DゲームエンジンにもLightwave3Dのアドバンストカメラのような機能を実装して欲しい。奥行方向で適用/不適用を制御した上でキャラクターなどの前景と背景を合成する必要があるなどリアルタイム性との両立には技術的に厳しいところもありそうだが、その部分以外は割と現実的ではないかと思う。

 ニーズが小さい、或いはニーズを感じる人が居ないという可能性も否定できないのが残念なところだが(ゲーム制作者たちがこの種の可能性に気付いていないのでは、と思わざるを得ないことが多々あるということ)、この機能さえあれば、日本の手描きアニメで当たり前に、或いは時に無意識に行われている作画上の演出の再現やシミュレートがかなり可能になる筈だ。
 こんな画が3Dゲームエンジンで簡単に作れるようになれば、コスト的にも手描きアニメ終了のカウントダウン開始だ。ぱっと見、右側のアッコの首~口~鼻、紙の生え際付近の領域のアウトラインのシミュレートだけでカメラが20個ぐらい必要で、かつそれらカメラの画をシームレスに合成しなければならない大変な作業が控えている・・・「冴えたやり方」が必要なのだろう。

 アドバンストカメラは原理上、「20個ほどの位置も向きもパースも異なるカメラの画をシームレスに繋いだ画」を単一の三次元曲面を適切に定義するだけで作成できるポテンシャルを持つ。数学、特に座標変換に強い人、その辺りをちゃんと数式で示してくれないものか・・・UVマッピングの逆向きの操作が一つの例となる筈だ。考えても見て欲しい。全てのポリゴンをそれらの法線方向から撮影した画がマッピングされた画像があるとする(それはUVマップ画像のように見えるだろう)。この画像があれば、カメラの位置や向きがどうであろうと、その瞬間のあらゆるカットは「画像の座標変換だけで」作成できる筈だ。この場合に求められる「冴えたやり方」とは、例えば、最初に用意すべき画像に含めなければならない情報を画像作成前に特定するとともに、特定結果に基づいて使用計算リソースを最小限にする方法である。

 カット内でのパースの時間変化なんて、日本の手描きアニメではかなり日常的だよね?あ、「銀河英雄伝説 Die Neue These」は使ってねぇなぁ・・・

0 件のコメント:

コメントを投稿