読者です 読者をやめる 読者になる 読者になる

テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】「被写体のどこを映して欲しいか」を元にカメラの動きをコントロールする CINE.MACHINE BASE RIG を軽く使ってみる

3D Unity Unity5.6 カメラ おもしろ演出、演出の強化

今回、Unity標準機能化の動きに合わせて無料で使用出来るようになったCine.machineを実際に触ってみました。

f:id:tsubaki_t1:20170318234056j:plain

http://u3d.as/GJQ

カメラの動きをコントロールする

Cine.machineはカメラの動きをコントロールするアセットみたいです。

この機能は、パンやティルト、ドリーのような動きというよりは、任意の欲しいカットを用意し、それに向けてカメラワークをブレンドさせていく感じになります。

tsubakit1.hateblo.jp

このカットとは、注目したいキャラクターをカメラのどの範囲に置くのか、また何処から見るのか…といったイメージです。

例えば下の場合のように注目させたいパーツがある場合、対象と範囲を設定すれば、範囲の外に出ないようにカメラを動かしてくれます。

f:id:tsubaki_t1:20170318223838j:plain

f:id:tsubaki_t1:20170318222447g:plain

あとは複数のカットをつなぎ合わせてブレンドすると、こんな感じで動いてくれます。

f:id:tsubaki_t1:20170318224515g:plain

簡単な使い方

まずはChinemachineのセットアップ。

  1. Chinemachine > Create Virtual Cameraを選択します。
  2. Autogen_cinemacihneRuntimeのオブジェクトのDefault Cameraには、動かしたいカメラを設定します。

f:id:tsubaki_t1:20170318225921j:plain

f:id:tsubaki_t1:20170318230035j:plain

カットの用意

  1. CinemachineVirtualCameraの位置を、カメラを置きたい位置に動かします。
    シーンビューを動かした後、CinemachineVirtualCameraオブジェクトを選択してCtrl+Shift+Fキーで、現在のシーンビューカメラの位置と同期するので、便利です。
  2. 注目したいオブジェクトがあれば、ChinemacihneVirtualCameraのCreate Composer Assetを選択(もしくはComposer Settingsにセット)して、Composer Camera Targetに注目したいターゲットを指定します。

f:id:tsubaki_t1:20170318230251j:plain

注目するオブジェクトのセット

f:id:tsubaki_t1:20170318230734j:plain

場合によっては注目範囲も調整します。

f:id:tsubaki_t1:20170318230945j:plain

ドリー的にカメラを動かす

Transposer SettingsかCreate Transposer Assetで設定を作成、あとは位置を同期したいオブジェクトのTransformをセットする感じです。

f:id:tsubaki_t1:20170318233048j:plain

カメラ間のブレンド

カットの用意で作成したCinemachineVirtualCameraを、複製でも同じものを作るでも良いのでコピーします。

f:id:tsubaki_t1:20170318231441j:plain

あとは、ゲーム再生時「アクティブなオブジェクトのプライオリティ値が低い(低い方がプライオリティが高い)順」に、カメラが移動します。

例えば新しいカメラのプライオリティを0、最初からあるカメラのプライオリティを1としておく場合、

  1. 起動時にプライオリティ0のカットが再生
  2. プライオリティ0のカットを非アクティブにすると、プライオリティ1のカメラに遷移
  3. プライオリティ0のオブジェクトをアクティブにすると、プライオリティ0のカメラに遷移

といった感じで動きます。

プライオリティ0がアクティブの状態でプライオリティ1をアクティブ・非アクティブにしても特に遷移しません。

f:id:tsubaki_t1:20170318231923j:plain

ブレンドの設定

ブレンドの接地絵は、Cinemachine RuntimeのBlend Settingsで行うみたいです。

指定のカットから指定のカットへ遷移する際のカーブを設定すれば、ブレンドの感じを調整できます。ブレンド時間は調整できないみたいです。
(やるなら要スクリプトでウェイト調整)

f:id:tsubaki_t1:20170318232418j:plain

 

中々面白いです。

関連

Cinemachine使って遊んでみる

 

Cinemachine Base Rig from Cinemachine Imagery Ltd. on Vimeo.

 

動きのサンプル

Module Examples – Cinemachine