【Unity】Virtual Cameraのシェイクパターンを自作する方法(2019.1.0f2)
こんにちは。
タイムラインでカメラシェイクを使いたい場合、Virtual Cameraの「Noise」によってカメラを揺らす事ができますが、デフォルトで用意されているシェイクパターンだけでは足りなくなってくると思います。
そこで、今回はシェイクパターンを自作する方法を解説していきます。
Noiseを使った揺らし方をご存知でない方は↓こちらの記事で解説していますのでご覧ください。
既存のシェイクパターンを基に編集してみよう
シェイクを自作する際は「Noise Profile」というアセットを作成するのですが、初めて作る際は既存のシェイクパターンを基に自作してみる方がやりやすいです。
完全新規で作り始める前に、まずはそちらの方法から解説していきます。
まずVirtual Cameraの「Noise > Noise Profile」を「6D Shake」に切り替えます。
その後、Noise Profileの歯車アイコンから「Clone」を選びます。
するとNoise Profileアセットを作るダイアログが開くので、保存先と名前を指定して「保存」をクリックします。
ここでは「Noise Copy」としました。
これで6D ShakeをコピーしたNoise Profileアセットが作成されました。
このアセットのInspectorを見てみましょう。
下図のようにノイズパターンがグラフで確認できます。
「Preview Time」でグラフの横軸を、「Preview Height」でグラフの縦軸のプレビュー範囲を変更できます。
更に、「Position Noise」でカメラシェイクの移動具合を、「Rotation Noise」で回転具合を自由に調整する事ができます。
試しにこのアセットを編集して、縦揺れするカメラシェイクを作ってみましょう。
「Position X」を選択してみると、下図のようにパラメーターが開きます。「Frequency」と「Amplitube」の値を全て「0」にして、X軸に対してカメラが揺れないようにします。
同様に、「Position Z」「Rotation X」「Rotation Z」の値を全て「0」にします。
ここまで出来たら、Virtual CameraのNoise Profileをクリックしてみましょう。
すると下図のようにさきほど作成した「Noise Copy」がプルダウンリストに追加されています。
このVirtual Cameraをタイムラインで確認すると、縦揺れのカメラシェイクが確認できると思います。
これで自作のシェイクパターンを作成する事ができました!
同様の方法で、横揺れだけのシェイクとか、6D Shakeの縦が少し強めのシェイクとか、自由にバリエーションを増やす事ができますよ。
Noiseの編集方法を把握しよう
さきほど「Noise Copy」を縦揺れにした際に「Frequency」と「Amplitude」の値を全て「0」にしましたが、この2つのパラメーターはどのようにコントロールすればいいのでしょうか?
Position Xの値を編集しながら解説していきます。
まず、「Frequency」は振動の周期を、「Amplitude」は振動の幅を表しています。
そこで、「Amplitude」の値を「0」から「1」に変えてみましょう。
すると横一線のグラフが0の時よりも上にズレました。
これはカメラのポジションがX=0.5になった事を意味します。ずっと0.5の値なのでカメラはX軸に0.5移動した状態で固定された状態になります。
(※振幅=1なので、+方向へは0.5移動することになります)
次に「Frequency」の値を「1」にしてみましょう。
すると下図のように波が出来ました。
これでX軸上を「1秒間に-0.5~0.5の間で1往復する」というカメラができました。
ちなみに、横のチェックマークを外すとランダムになるっぽいです。(アルゴリズムは不明…)
「Frequency」と「Amplitude」の関係はこれだけです。
あとは2行目、3行目にも値を入れていくと、一定の周期と振幅に乱れを加える事ができます。
2行目、3行目のかけ合わせ方は加算のようです。
これと同じ事を他のPositionやRotationにも設定する事で、自由なシェイクパターンを作る事ができます。
Noiseの編集方法は以上になります!
Noise Profile アセットを新規でつくろう
最後に、Noise Profile アセットを新規で作る方法を解説します。
1つは、Projectウィンドウで「右クリック > Create > Cinemachine > NoiseSettings」です。
もう1つはNoise Profileの「歯車アイコン > New」です。
これで完全まっさらなシェイクパターンが作成されました。
アセットを新規で作る方法はこの2パターンです!
シェイクパターンの自作方法の解説は以上となります。
予めいくつかバリエーションを作っておけば、タイムラインで演出を量産する時に便利ですよ!