【Unity】Cinemachineフォローカメラ実践:追従の「気持ちよさ」をチューニングする

作成: 2025-12-07最終更新: 2026-10-10

カメラをプレイヤーに追従させたら、ガクガク揺れて画面酔いする——手書き追従スクリプトの限界です。Cinemachineのフォローカメラを題材に、Dead Zone・Damping・Lookaheadなど「追従の気持ちよさ」を決めるパラメータのチューニングを実践的に解説します。

プレイヤーを追いかけるカメラをtransform.position = target.position + offset;で書いた——動きます。でも遊んでみると、歩くたびに画面が細かく揺れ、ジャンプで視界が跳ね、なんだか酔う。カメラの「追従」は、実は単純な位置合わせでは気持ちよくならないのです。

この記事では、Unity公式のカメラ制御パッケージ Cinemachine のフォローカメラを題材に、追従の「気持ちよさ」を決めるパラメータのチューニングを実践的に解説します。Cinemachineの機能全般(切り替え・シェイク・TPSカメラなど)は Cinemachine入門 を、この記事では「プレイヤーを追うカメラを作り込む」の一点を掘り下げます。

フォローカメラのイメージ。カメラマンがレールの台車に乗って、走るキャラクターを滑らかに追いかけている

この記事でわかること

  • 手書き追従が 「酔うカメラ」になる理由
  • Cinemachineフォローカメラの最小セットアップ(2D/3D)
  • 気持ちよさの三大パラメータ——Dead Zone・Damping・Lookahead
  • Confiner 2Dでステージ外を映さない(2Dでほぼ必須)
  • 実践:ジャンル別の出発点セッティング早見表

動作確認環境: Unity 6 (6000.x)、Cinemachine 3.x

Sponsored

なぜ手書きの追従は「酔う」のか

target.position + offsetの直付け追従には、酔うカメラの三大原因が揃っています。

  1. 揺れの増幅: キャラの微細な動き(坂の段差・アニメの揺れ)がすべて等倍で画面全体の揺れになる。キャラが1ピクセル動けば世界全体が1ピクセル動きます。
  2. 急発進・急停止: キャラが動いた瞬間にカメラも急に動き、止まった瞬間に急に止まる。現実のカメラマンのような「ため」がありません。
  3. 先読みがない: 走っている方向の先が見えず、プレイヤーは常に画面の中央で「これから行く場所」が半分しか見えません。
手書き追従とCinemachineの比較。直付けの手書き追従はキャラの揺れをそのまま増幅してカメラがギザギザに震えるが、Cinemachineは遊びとためで滑らかに追う

これらはLerpやスムージングを自作しても解決しきれず、結局チューニング可能な仕組みが必要になります。それを解決済みのパラメータとして提供するのがCinemachineです。

フォローカメラの最小セットアップ

バージョンについて: 本記事はCinemachine 3.x系(Unity 6標準)の名称で説明します。2.x系ではコンポーネント名が異なります(CinemachineCamera→旧CinemachineVirtualCamera、Position Composer→旧Framing Transposer)。

  1. Package ManagerからCinemachineをインストールします。
  2. Hierarchyで右クリック →「Cinemachine > Cinemachine Camera」を作成します(Main Cameraには自動でCinemachine Brainが付きます)。2Dなら「Cinemachine > Targeted Cameras > 2D Camera」、3Dの背後追従なら「Targeted Cameras > Follow Camera」で作ると、手順4の設定が最初から入っています。
  3. Tracking TargetにプレイヤーのTransformを設定します。
  4. Body(Position Control) を選びます: 2Dやサイドビューなら Position Composer、3Dの背後追従なら Follow が出発点です。

これだけで「追従するカメラ」はできます。ここからが本題——気持ちよさのチューニングです。

Sponsored

チューニングの三大パラメータ

Position Composerを例に、効果の大きい順に3つ調整します(3DでFollowを選んだ場合、Followにあるのは Damping だけで、Dead Zone と Lookahead は Position Composer のつまみです)。

Dead Zoneの図。画面中央にカメラが反応しない遊び領域が示され、キャラクターがその中で動いてもカメラは動かず、領域の外へ出ようとするとカメラが付いていく様子

1. Dead Zone——「遊び」を作る

画面中央に、ターゲットが動いてもカメラが反応しない領域を設定します。細かい移動・方向転換のたびに画面が揺れるのを防ぐ、酔い対策の第一手です。

  • Position ComposerのComposition(Dead Zone)を有効にすると、Gameビューに枠(ガイド)が出ます。Cinemachine Cameraの Game View Guides を Interactive にすると、枠をドラッグして調整できます。
  • 目安: 横方向に0.1〜0.2程度(画面の横幅に対する割合)。広すぎるとキャラが中央から大きく離れてから動く「安っぽい」カメラになるので、実際に操作しながら詰めます。
Gameビューのガイドの色。色の付いていない中央の枠がDead Zone、そのまわりの青い領域がSoft Zone、外側の赤い領域がHard Limits、キャラクターの胸の黄色い四角がターゲットの位置

ガイドは、色の付いていない中央の枠がDead Zone、そのまわりの青い領域がSoft Zone(ここに出ると、Dampingの速さで追いつく)、黄色い四角がターゲットの位置です。赤い領域は Hard Limits を有効にしたときだけ出て、ターゲットをその外へ出しません。青い領域をDead Zoneと思い込みやすいので、広さは中央の枠で見ます。

2. Damping——「ため」を作る

カメラが目標位置に追いつくまでの遅れの大きさです。値が大きいほど、ゆっくり滑らかに追いかけます。数値は秒に近い感覚の目安で、その秒数ちょうどで追いつくわけではありません。

  • 目安: 素早いアクションは小さめ(0.5前後)——遅れすぎると操作に画面が付いてこず、それはそれで酔います。探索・アドベンチャーは大きめ(1〜2) でゆったりと。
  • X/Y/Zで別々に設定できるのが重要です。2Dプラットフォーマーでは「横は素早く、縦(ジャンプ)は大きめに遅らせる」と、ジャンプのたびに画面が上下に跳ねるのを防げます。

3. Lookahead——「先読み」を作る

移動方向の先にカメラを寄せる設定です(Position ComposerのLookaheadで Enabled にチェックを入れ、Time と Smoothing を調整します)。走っている方向の視界が広がり、「これから行く場所が見える」カメラになります。

  • 目安: Lookahead Time 0.2〜0.5から。Smoothingを十分に効かせないと、方向転換のたびにカメラが左右に振れて逆効果になります。振れを感じたら、まず Time を下げてから Smoothing を上げます(先に Smoothing だけ上げると、先読みそのものが遅れて効きにくくなります)。それでも振れるなら、Lookahead自体を切る判断も正解です。
  • 2Dのジャンプゲームでは Ignore Y をオンにして縦の先読みを切ると、ジャンプのたびに画面が上下に振られません。
Lookaheadの比較。Lookaheadなしはキャラが画面中央で進行方向の先が半分しか見えないが、Lookaheadありはカメラが進行方向へ寄って「これから行く場所」が広く見える

チューニングの判断基準は1行です。 「キャラではなく、10秒間プレイした自分の目の疲れで判断する」。カメラは静止画では評価できません。

Confiner 2D——ステージの端でカメラを止める

フォローカメラをそのまま使うと、ステージの端でプレイヤーが端に寄ったとき、ステージ外の何もない空間が映ってしまいます。

Cinemachine Confiner 2D 拡張で解決します。

  1. ステージの範囲を囲むPolygon Collider 2D(またはComposite Collider 2D)を持つオブジェクトを用意し、Is Triggerをオンにします(Confinerは形だけを読むので必須ではありませんが、プレイヤーがこの当たり判定にぶつからないようにします)。Tilemapの当たり判定をそのまま渡すと、ギザギザの端でカメラがガタつくので、頂点の少ない専用のColliderを用意します。
  2. Cinemachine CameraのInspectorで「Add Extension > Cinemachine Confiner 2D」を追加します。
  3. Bounding Shape 2Dに手順1のColliderを設定します。

これでカメラはステージの範囲内でだけ動くようになります。2Dプラットフォーマーではほぼ必須の仕上げです(3Dでは同様のConfiner 3Dがあります)。

Confiner 2Dの図。ステージの範囲を囲むポリゴンの内側でだけカメラの表示枠が動き、プレイヤーが端に寄ってもステージ外の空間は映らない

実践:ジャンル別の出発点セッティング

三大パラメータの「正解」はジャンルで大きく違います。横スクロールのプラットフォーマー、見下ろしのARPG、探索型メトロイドヴァニア——それぞれの出発点になる組み合わせを早見表にしました。ここから10秒プレイ→微調整を繰り返してください。

ジャンルDead ZoneDampingLookaheadねらい
高速プラットフォーマー横0.1 / 縦0.15横0.3 / 縦1.50.3(Smoothing強め)ジャンプで画面が跳ねない・進行方向が見える
見下ろしARPG0.1前後(正方形)全方向0.80(切る)全方向移動で振り回されない安定感
探索メトロイドヴァニア横0.15 / 縦0.2全方向1〜20.2ゆったり・雰囲気重視。急かさない
弾幕シューティング0(切る)0〜0.20自機の位置が正確に分かることが最優先
パズル(固定画面寄り)広め0.3〜大きめ20ほぼ動かず、必要なときだけ滑らかに移動

表を眺めると法則が見えてきます。操作の正確さが命のゲームほどカメラは「素直」に(Dead Zone・Damping小さめ)、雰囲気と探索のゲームほど「ゆったり」に(両方大きめ)。

ポイントは2つです。 「まずジャンルの出発点から始めて、10秒プレイ→1項目だけ変える、を繰り返す」 こと(複数パラメータを同時に変えると、何が効いたのか分からなくなります)と、 「縦と横は別のパラメータだと考える」 こと。特に2Dの縦Dampingは、ジャンプゲームの酔いを一撃で解決する最重要のつまみです。カメラの土台となるCanvasやUIの仕組みは Canvas入門、切り替え演出は Cinemachine入門 へどうぞ。

おまけ:先に知っておくと良いこと

  • ピクセルアートのカメラ: ドット絵ゲームではカメラ位置のサブピクセル移動がドットのちらつきを生みます。Main Cameraの Pixel Perfect Camera と、Cinemachine Camera側の Cinemachine Pixel Perfect 拡張を併用します。
  • Update方式の整合: 追従がプルプル震えるときは、ターゲットの移動タイミング(FixedUpdateの物理移動かUpdateか)とカメラの更新のずれが定番原因です。物理で動かしているなら、まずRigidbody(2D)の Interpolation を Interpolate にします。Cinemachine BrainのUpdate Methodは、既定の Smart Update のままが基本です(UpdateとFixedUpdate)。
  • カメラは1台、Cinemachine Cameraは何台でも: 描画するMain Cameraは1台のまま、状況ごとのCinemachine Camera(通常時・ボス戦・イベント)をPriorityで切り替えるのがCinemachineの設計です。切り替えの実践は Cinemachine入門 を参照してください。
  • 画面シェイクの足し方: ヒットや爆発の瞬間の揺れはImpulse Sourceで足せます(揺らすCinemachine Cameraには Impulse Listener も付けます)。追従のチューニングとは独立して後付けできます。
Sponsored

まとめ

  • 直付けの手書き追従は揺れの増幅・急発進急停止・先読みなしで「酔うカメラ」になる。
  • Cinemachineの最小構成は Cinemachine Camera+Tracking Target+Position Composer/Follow。
  • 気持ちよさは三大パラメータで作る——Dead Zone(遊び)・Damping(ため)・Lookahead(先読み)。
  • 2Dは縦のDampingを大きめに、仕上げにConfiner 2Dでステージ外を映さない。
  • 調整はジャンル別の出発点から、10秒プレイ→1項目ずつ。
  • カメラ切り替え・シェイク・TPSカメラなどの機能全般は Cinemachine入門 へ。

カメラはプレイヤーが最も長時間見続けるUIです。あなたのゲーム、10分遊んで目は疲れませんか? 疲れるなら、犯人はたぶんカメラです。

次に読む次のカテゴリ「VFX・エフェクト」へ
VFX・エフェクト

Unityパーティクルシステム入門:炎、煙、魔法エフェクトを作る

この記事を読む
Unity このセクションのノート100