8

Unity iOS 用の非常にシンプルな縦スクロール ゲームに取り組んでいます。私のゲームは一貫性のないジッタリングを経験しています。私は運がない解決策を探してウェブを広範囲に検索しました。Unity バージョン 5.3.4 f1 を使用しています。

ゲーム

ゲームプレイのスクリーンショット

  • キャラクターが倒れています。Unityのキャラクターコントローラーを使用してキャラクターを動かしていますUpdate()Time.deltaTimeは乗算されています)。
  • カメラがキャラクターをフォローしていますLateUpdate()(Vector3.Lerp()フォローするために使用)。
  • キャラクターが下に移動しているため、障害物が画面の上に移動しているように見えます。
  • シーンには 1 つのディレクショナル ライトがあり、リアルタイム シャドウ用に設定されています。影の品質は High と Hard の影です。
  • シーンに剛体はありません。また、プロファイラーに大きなスパイクはありません。
  • ジオメトリは非常にシンプルで、ドローコール/セット パス コールはほとんどありません (平均 7 セット パス コール)。
  • 一定の60 fpsがあります。
  • iOS で実行しているため、vSync はデフォルトでオンになっており、無効にすることはできません。

問題

  • 背景の要素/障害物 (木、岩など) が明確な理由もなく揺れ始めます。動作に一貫性がなく、ジッターする場合とそうでない場合があります。
  • ジッターが発生しない場合でも、ユーザーがタッチで入力を行うと、小さなスタッターが発生します。

私たちが試したこと

  • Update()LateUpdate()FixedUpdate()、 、 Lerpのすべての組み合わせを試しTime.deltaTime Time.smoothDeltaTime、シーンをいくつかの立方体に縮小し、すべてのコライダーとトリガーを削除しました。
  • Link1Link2Link3 、およびその他の無数のスレッドについては、すでに調査済みです。
  • 最初、ゲームはデフォルトの 30 fps で実行されていました。しかし、いくつかの調査の結果、問題は「フレーム レート」と「画面のリフレッシュ レート」の違いによるものであることがわかりました。(この問題を理解するには、次のLINKを参照してください)。iOS デバイスのリフレッシュ レートは 60 Hz であるため、ターゲット フレーム レートを 60 に設定し、ゲームは一定の 60 fps を維持します。
  • ターゲット フレーム レートを 60 に設定した後、ジッターは改善されましたが、現在は一貫性がありません。

私はすべてのアイデアがありません。どんな助けや指針も高く評価されます。

前もって感謝します。

4

3 に答える 3