記事

Unity Cinemachine Jittering イシュー

Unity Cinemachine Jittering イシュー
Visitors



1. Cinemachine Method Update について



主な現象

  • Cinemachine カメラの Damping アルゴリズムにより、キャラクターや飛行船が高速移動すると Jittering が発生する。

キャラクターの Rigidbody 設定

cine1 cine2

Cinemachine Brain (Main Camera)

cine3

原因分析

  • Rigidbody.Interpolate は物理ベース移動キャラクターの CCD 補間に関係する。
    Cinemachine Camera の Follow / LookAt がそのプレイヤーを追うと、Update Method で更新される Transform 値と、
    Damping 補間後の Transform 値に差が生じてズレが発生する。

解決方法

  1. 物理ベース移動プレイヤーの Rigidbody -> Interpolate をオフにする。
  2. プレイヤー移動コード (rigidbody.velocity, rigidbody.AddForce() など) を FixedUpdate で処理する。
  3. Cinemachine Camera の Update MethodBlend Update MethodFixed Update に設定する。
  4. Virtual Camera -> Inherit Position をオフにする。
この記事は著者の CC BY 4.0 ライセンスの下で提供されています。