CinemachineでVirtual CameraのNoiseを使って「手ブレ」を表現する方法をまとめました。
Unity2018.4.0
Cinemachine2.2.9
はじめに
この記事ではCinemachineで手ブレを表現するNoise機能について説明します。
弱めの手ブレから激しい手ブレまでいくつかのプリセットから選べます。
また、細かくカスタムすることもできます。
なお、Cinemachineの基本的な使い方やVirtual Cameraの設定方法は本記事では説明しません。
これらは以下の記事にまとめていますので、必要に応じて参照してください。
プリセットを使って手ブレを表現する
Noise機能を使って手ブレを作るにはまず、Virtual CameraのNoiseからBasic Multi Channel Perlinを選択します。
次にNoise Profileのドロップダウンをクリックします。
するとプリセットが表示されます。
試しに6D Shakeを選んで再生すると次のように激しくカメラが揺れます。
Amplitudeで振幅を、Frequencyで振動数を調整できます。
振幅は大きいほど揺れ幅が大きくなります。
振動数は大きいほど時間あたりに揺れる回数が多くなります。
自作のNoise Profileを作る
プリセットで目的通りの手ブレが作れない場合には自作することもできます。
この場合、Noise Profileの右側の歯車アイコンからNewを選択してアセットを作成します。
設定は作成したアセットのInspectorから行えます。
ノイズは、各軸に対する位置と回転に対してそれぞれ設定できます。
例としてY軸の座標を動かすノイズを設定してみます。
これを適用すると、Y軸方向にカメラが動くようになります。
自作Noiseのコツ
自作でNoiseを作るとどうしても機械的になってしまいがちです。
これを防ぐためのコツがマニュアルで紹介されていたので軽く触れておきます。
まず、それぞれの移動値や回転値を設定する際には周波数別に低・中・高の三層構成にすると自然になるようです。
また、カメラを手持ちするときには位置よりも回転の方がブレやすいようです。
これは確かにそんな気がします。
そのため、ノイズもまずは回転をいい感じにしてから位置のブレを加えます。
最後に、振幅はより画角が広いカメラほど大きくするとそれらしくなるようです。