このような記事が5年前にありました。
要するに・・・
一つのカメラでカット切り替えを表現する際、切替時の回転のブレをスクリプト制御で抑えようということです。
そして今回、プログラム無しでブレを抑える方法がわかったので紹介しようと思います(^^)
結論から言うと、直接Animation(YAML)ファイルを弄ってカメラの補完を完全にキル方法です!
ただ、この方がいい方法なのか定かではないことをはじめに断っておきます
(๑´•.̫ • `๑)
まずは、1つのカメラで "瞬間移動カット切り替え" を行った場合にどのような見た目になるか見ていただきましょう(^^)
Rotation は Quaternion にします。
こうしないと、YAMLで直接値を入力する際に、フレームごとのキー情報があるのに悩まされます。
ちなみに 「Euler Angles(Quaternion)」から「Quaternion」に切り替えたことによってファイル容量が、10分の1になりました(笑)
この状態では、カット切り替えの際に一瞬のブレが確認できます。
一瞬ガクっってなるよなぁ?
Animationウィンドウのタンジェントで調整してみる・・・
まずは、アニメーションカーブのタンジェント調整で修正を試みます(^^)
0.47秒時点でのキーの「Right Tangent」を「Constant」に設定します。
一見これで直りそうなのですが、どうしても切り替わりの一瞬が映ってしまうようですね・・・
カーブ上では、一瞬で切り替わっているように見せかけて全然一瞬じゃないよなぁ(#^ω^)?
カカッってなります。
Animationを直接編集(ファイル的な意味で)
今回の肝です。
まずは該当するAnimationファイルを任意のテキストエディタで開きます。
あ、その前にプロジェクトのセーブをしたほうが良いかもしれません(^^)
Animationファイル内で、「m_PositionCurves」と検索をかけ、カット切り替えを行っている時間のキーを見てみると、
先程「Constant」に設定した箇所の 「outSlope」が「Infinity」になっていると思います。
ポジションはそうなっているわけです!
しかし、どうやらローテーションはそうならないみたいです。
なので、手動で「Infinity」にしてやりましたよ(フフフ
するとなんということでしょう、惨めで醜くて卑賎で矮小で罪深いカット切り替えが、とてもきれいになりました!
終わりです。