(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]

2Dゲームのカメラに追跡や揺れ、フェードなどの多種多様な機能を追加するPro Camera 2D【Unity】【アセット】


このエントリーをはてなブックマークに追加

この記事でのバージョン
Unity 2018.2.20f1


はじめに

今回は2Dゲームのカメラに追跡や揺れ、フェードなどの多種多様な機能を追加するProCamera2D

というアセットの紹介です!




イメージとしては以下のような感じ。


f:id:kan_kikuchi:20190213175017g:plain:w700
f:id:kan_kikuchi:20190213175225g:plain:w700


なお、ブラウザ上で試せるデモもあります。





基本的な使い方

まずは基本的な使い方からです。

といっても、ただカメラのオブジェクトにPro Camera 2DというスクリプトをAddして、

そのスクリプトにカメラが追跡したいオブジェクトをドラック&ドロップするだけ。


f:id:kan_kikuchi:20190213162508j:plain


これだけで指定したオブジェクトをカメラが追跡するようになります。


f:id:kan_kikuchi:20190213174555g:plain:w700


もちろん追跡対象をプログラムから指定する事も可能です。

//ProCamera2Dを使うのに必要
using Com.LuisPedroFonseca.ProCamera2D;
//ProCamera2Dに追跡対象を設定
proCamera2D.AddCameraTarget(transform);


ちなみに、Updateのタイミングや追跡をどれだけ遅らせるかなどの

全体の設定もInspector上で行うことが可能です。

(これもプログラムからでも操作可能)


f:id:kan_kikuchi:20190213163420j:plain


複数の対象を追跡する

追跡する対象は複数設定することも可能です。


f:id:kan_kikuchi:20190213164955j:plain


複数の対象を設定した場合は、その中間を追うような形になります。


f:id:kan_kikuchi:20190213174729g:plain:w700


なお、どちらの対象をどれだけ優先するかという設定も可能です。

(追う対象が単体の場合は基本的に操作しなくてOK)


f:id:kan_kikuchi:20190213165321j:plain


機能の追加

ProCamera2Dは追跡という基本機能の他に様々な追加機能があります。

機能を追加したい場合はInspectorからEXTENSIONSのボタンを押すだけでOK。


f:id:kan_kikuchi:20190213165751j:plain


なお、それぞれの機能を使ったサンプルのシーンもあるので、使い方に困るという事もないと思います。


f:id:kan_kikuchi:20190213170916j:plain


参考までによく使いそうな機能を抜粋してご紹介します。


一定範囲内で追跡 (Camera Window)

Camera Windowを使うと追跡対象が指定した範囲を出た時だけカメラを移動するように出来ます。


f:id:kan_kikuchi:20190213175017g:plain:w700


部屋を移動したらカメラ移動 (Rooms)

Roomsを使うとロックマンのボス部屋に入った時のように、

部屋に入ったらカメラを移動するという事が出来ます。


f:id:kan_kikuchi:20190213175225g:plain:w700


カメラを揺らす (Shake)

Shakeを使うとカメラを揺らす事が出来ます。


f:id:kan_kikuchi:20190213175305g:plain:w700


フェード(TransitionFX)

TransitionFXを使うとカメラのフェードインやフェードアウトが出来ます。


f:id:kan_kikuchi:20190213175425g:plain:w700


おわりに

機能がたくさんあるアセットは設定項目が多岐に渡り、使いにくい事も多いですが、

今回紹介したProCamera2Dは、機能毎にコンポーネントを分けるというUnityらしい実装のおかげで、

分かりやすく使いやすいという、かなりオススメ出来るアセットでした!