simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

Unity:CinemachineでTPSカメラ制御してみる

Chinemachine (シネマシーン)とは、映画のカメラワークを強力にサポートするツールセットの名称です。
映画監督ばりに、絵コンテ通りにカメラを動かしたい、そんなときに役立つ公式アセットです。(あるときから公式になった人気ツール?なのかな)

とりあえず映像に関するツールセットなので、映像でどういった機能を私たちに提供してくれるのか確認してみましょう。
unity3d.com

動画から得られた知見:
1.Package Manager を開いて Preview 版の Chinemachine をインストールする
2.知的な Main Camera にするため Main Camera オブジェクトに Chinemachine Brain コンポーネントを追加
3.Timeline Editor に2.のコンポーネント追加済みのオブジェクトをドラッグ&ドロップして、トラックの種類に Cinemachine を選択して Cinemachine Track を追加
4.Timeline の編集とは、オブジェクトに紐づくトラックを並列に追加し、そのうちの一つのトラックの中にクリップを順番に配置することだった
5.トラックの中に Cinemachine Shot Clip を作成、その Shot に関するカメラ位置姿勢と対象の追従設定などを記入する、このShotに関する設定を「 Virtual Camera 」と呼ぶことにしている
6.カメラ画像上の領域にて、対象を領域内にとらえている間はカメラは死んでいるかのように動かないとするカメラワークがある、この時のカメラの画像上の領域を「Dead Zone」と呼ぶ
7.Dead Zone の周りの領域を「Soft Zone」その外側は特に呼ぶ名前はない
8.トラックにはいくつでも Shot Clip を追加できるし、Clip 間でカメラワークを補間したり、ワープしたりをGUI操作で簡単に操作できます。

わずか 5 分で Timeline の編集の概念と、Cinemachine の基本機能と Timeline でのカメラワークの操作まで完璧に示していました。
とても良い動画だと思いました。

ここまでの基本的な知見を持ったうえで次のページを読んでみました。
gametukurikata.com

得られた知見:
1.Main Camera オブジェクトに Chinemachine Brain コンポーネントを追加、シーン内に「Virtual Camera」を追加すると、そのVirtual Camera の設定に従って Main Camera の動きが強制される
2.Virtual Camera の設定に Follow と Look At があるので、ここに移動キャラクターを設定すれば TPS (三人称視点)のカメラの動きに近づく(キャラクターを追いかけるカメラの動き)
3.Free Look タイプの Virtual Camera も用意されている、次の図に示すような三つの円で設定される楕円体の表面に沿って対象を中心に移動するフリーカメラの操作を提供してくれる
f:id:simplestar_tech:20180917164001j:plain
まさに TPS (三人称視点)のカメラの動きじゃないですか!これ

サクッとキャラクターを用意
f:id:simplestar_tech:20180917172029j:plain

Free Look タイプの Virutal Camera をシーンに配置してゲームを再生してみました。

f:id:simplestar_tech:20180917171841g:plain

これはTPSのフリーカメラですね!
歩かせてみます。

f:id:simplestar_tech:20180917172517g:plain

■まとめ
Unity 2018.3.0 beta で動かしました。
Cinemachine のプレビュー版をさわったのですが、素晴らしいカメラ操作を提供してくれるツールセットですね。
これを活用して三人称視点のゲーム作ってみたいと思いました。

ほかにもあらかじめ設定したレールの上を動くカメラなども学んだので、次に紹介したいと思います。

■追記
Free Look タイプのインスペクタービューの具体的な内容を記録します。
f:id:simplestar_tech:20181011221927j:plain