Unityで開発しているゲームで「スパイク」が起きてしまったら?ロジカルビートが対処方法をブログで解説

Unityで開発しているゲームで「スパイク」が起きてしまったら?ロジカルビートが対処方法をブログで解説

2024.09.09
ニュースゲームづくりの知識Unity
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

この記事の3行まとめ

  • ロジカルビートが「【Unity】ShaderのWarmupについて」と題した記事を公開
  • シーン再生やオブジェクト描画時に起こるスパイク(カクつき)の回避方法を紹介
  • 保存したシェーダー設定を事前ロードし、シーン遷移時の読み込みを最適化している

ロジカルビートは2024年9月6日(金)、「【Unity】ShaderのWarmupについて」と題した記事を、自社ブログにて公開しました。

同記事では、UnityのURPサンプルシーンをもとに、シーン再生時やオブジェクト描画時にスパイク(カクつき)が発生する理由や、その回避方法を解説しています。

なお、記事内で使用しているUnityのバージョンは「2022.3.44f1」です。

シーンの遷移時にスパイクが発生している様子(画像はブログ記事より引用)

Unityで制作したゲームでは、シーン再生時やオブジェクト描画時の初回に、スパイクが発生する場合があります。発生した際の処理をProfilerで確認すると、初回は描画に必要なシェーダーをリアルタイムでロードしていることがわかります。

初回の処理(左)と2回目以降(右)の比較。初回は「Shader.ComplineGPUProgram」の処理が行われている(画像はブログ記事より引用)

これらのスパイクを回避するため、同記事では「ShaderVariant」を利用した回避方法を紹介。ShaderVariantとは、一つのシェーダーをベースに、異なる環境のバリエーションを作成できる機能です。

本機能はパスタイプとキーワードのセットによりバリエーションを識別でき、各ShaderVariantは「ShaderVariantCollection」というクラスで管理できます。

記事では、ShaderVariantの作成方法やShaderVariantCollectionの編集方法を、画像付きで解説しています。自動・手動での作成や編集のほか、Add関数やRemove関数などスクリプト上での編集も可能とのこと。

UnityEditor上で生成・保持されたShaderVariantをShaderVariantCollectionで保存できる(画像はブログ記事より引用)

こうして用意したShaderVariantを、Warmup関数を利用して事前にロードしておくことで、スパイクが防げるとしています。

なお、Warmup関数は同期処理のため、終了するまで画面が固まってしまうことに注意が必要とのこと。そのため、タイトルロゴの表示中など、静止した環境で実行することが推奨されています。

Warmupの実装前(画像はブログ記事より引用)

Warmupの実装後(画像はブログ記事より引用)

記事本文は、こちらをご確認ください。

【Unity】ShaderのWarmupについて

関連記事

Unity、インディーゲーム開発者向けコンテンツ「Indie Survival Guide」を公開中。Steamでのマーケティングの基礎、失敗から得た知見など
2025.06.11
ローグライク・謎解きゲーム『Blue Prince』は2,000時間のプレイ動画を観察してテスト。同作の開発秘話が語られたインタビュー記事、Unity公式ブログにて公開
2025.06.10
プログラマー向け「UI Toolkit」学習用サンプル『QuizU』、Unity 6.1に対応。データバインディング・ローカライズのサンプルシーン追加も
2025.06.09
「Unite Seoul 2025」講演動画、ユニティ・テクノロジーズ・ジャパンが順次公開中。Unity 6におけるShaderVariantの活用方法を解説した講演など
2025.05.29
常に“直近N秒”のゲーム映像を記録できる。オープンソースのUnity用ライブラリ「Instant Replay for Unity」、サイバーエージェントが公開
2025.05.23
Unity公式、「DOTS」を解説した電子書籍のUnity 6対応版を無料公開。協力型強盗FPS『Den of Wolves』での活用事例なども追加されている
2025.05.19

注目記事ランキング

2025.06.16 - 2025.06.23
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

法線
ホウセン 頂点がどの方向に向いているのかを決定するベクトル情報。ライティング情報を受けて、どのような方向に陰影を作リ出すかを決定する処理に利用する。 マテリアル内で、計算やテクスチャ情報により法線をコントロールすることで、メッシュそのものを弄らずに立体感を出すことが可能。 面の表裏を表す面法線もある。
VIEW MORE

Xで最新情報をチェック!