Skip to content

Chapter 8.13: 診断メニュー(Diag Menu)

Home | << 前へ: トレーディングシステムの構築 | 診断メニュー


概要: Diag MenuはDayZに内蔵された診断ツールで、DayZDiag実行ファイルでのみ利用可能です。FPSカウンター、スクリプトプロファイリング、レンダーデバッグ、フリーカメラ、物理演算の可視化、天候制御、Central Economyツール、AIナビゲーションデバッグ、サウンド診断を提供します。この章では、Bohemia Interactive公式ドキュメントに基づき、すべてのメニューカテゴリ、オプション、キーボードショートカットを文書化します。


目次


Diag Menuとは

Diag Menuは、DayZ診断実行ファイルに組み込まれた階層型デバッグメニューです。Statistics、Enfusion Renderer、Enfusion World、DayZ Render、Game、AI、Soundsの7つの主要カテゴリにわたって、ゲームスクリプトとアセットのデバッグに使用されるオプションをリストします。

Diag Menuは製品版DayZ実行ファイル(DayZ_x64.exe)では利用できませんDayZDiag_x64.exe を使用する必要があります。これはDayZインストールフォルダまたはDayZ Serverディレクトリに製品版と並んで含まれている診断ビルドです。


アクセス方法

要件

  • DayZDiag_x64.exe -- 診断実行ファイル。DayZインストールフォルダ内の通常の DayZ_x64.exe と同じ場所にあります。
  • ゲームが実行中である必要があります(ロード画面ではなく)。メニューはあらゆる3Dビューポートで利用可能です。

メニューを開く

Win + Alt を押してDiag Menuを開きます。

代替ショートカットは Ctrl + Win ですが、Windows 11のシステムショートカットと競合するため、そのプラットフォームでは推奨されません。

マウスカーソルの有効化

一部のDiag Menuオプションでは、マウスを使用して画面を操作する必要があります。マウスカーソルは以下のキーで切り替えられます:

LCtrl + Numpad 9

このキーバインドはスクリプト(PluginKeyBinding)を通じて登録されています。


ナビゲーションコントロール

Diag Menuが開いた状態で:

キーアクション
上 / 下矢印メニュー項目間を移動
右矢印サブメニューに入る、またはオプション値を切り替える
左矢印オプション値を逆方向に切り替える
Backspace現在のサブメニューを離れる(一階層戻る)

オプションに複数の値がある場合、メニューに表示される順序でリストされます。最初のオプションが通常デフォルトです。


クイックアクセスキーボードショートカット

これらのショートカットはDayZDiag実行中いつでも機能し、メニューを開く必要はありません:

ショートカット機能
LCtrl + Numpad 1FPSカウンターの切り替え
LCtrl + Numpad 9画面上のマウスカーソルの切り替え
RCtrl + RAlt + Wレンダーデバッグモードの切り替え
LCtrl + LAlt + Pポストプロセスエフェクトの切り替え
LAlt + Numpad 6物理ボディ可視化の切り替え
Page Upフリーカメラ:プレイヤー移動の切り替え
Page Downフリーカメラ:カメラのフリーズ/解除
Insertプレイヤーをカーソル位置にテレポート(フリーカメラ中)
Homeフリーカメラの切り替え / 無効化してカーソル位置にテレポート
Numpad /フリーカメラの切り替え(テレポートなし)
Endフリーカメラを無効化(プレイヤーカメラに戻る)

注意: 公式ドキュメントの「Cheat Inputs」への言及は、C++側でハードコードされた入力を指しており、スクリプトからはアクセスできません。


メニューカテゴリの概要

Diag Menuには7つのトップレベルカテゴリがあります:

  1. Statistics -- FPSカウンターとスクリプトプロファイラー
  2. Enfusion Renderer -- ライティング、シャドウ、マテリアル、オクルージョン、ポストプロセス、テレイン、ウィジェット
  3. Enfusion World -- 物理エンジン(Bullet)の可視化とデバッグ
  4. DayZ Render -- 空のレンダリング、ジオメトリ診断
  5. Game -- 天候、フリーカメラ、車両、戦闘、Central Economy、サーフェスサウンド
  6. AI -- ナビゲーションメッシュ、パスファインディング、AIエージェントの動作
  7. Sounds -- 再生サンプルのデバッグ、サウンドシステム情報

Statistics

メニュー構成

Statistics
  FPS                              [LCtrl + Numpad 1]
  Script profiler UI
  > Script profiler settings
      Always enabled
      Flags
      Module
      Update interval
      Average
      Time resolution
      (UI) Scale

FPS

画面左上隅にFPSカウンターを表示します。

FPS値は直近10フレーム間の時間から計算されるため、瞬間値ではなく短い移動平均を反映します。

Script Profiler UI

画面上のScript Profilerを有効にし、スクリプト実行のリアルタイムパフォーマンスデータを表示します。

プロファイラーは6つのデータセクションを表示します:

セクション表示内容
Time per classクラスに属するすべての関数呼び出しの合計時間(上位20)
Time per function特定の関数のすべての呼び出しの合計時間(上位20)
Class allocationsクラスのアロケーション回数(上位20)
Count per function関数が呼び出された回数(上位20)
Class countクラスのライブインスタンス数(上位40)
Stats and settings現在のプロファイラー設定とフレームカウンター

Stats and settingsパネルの表示内容:

フィールド意味
UI enabled (DIAG)スクリプトプロファイラーUIがアクティブかどうか
Profiling enabled (SCRP)UIが非アクティブでもプロファイリングが実行されているかどうか
Profiling enabled (SCRC)プロファイリングが実際に行われているかどうか
Flags現在のデータ収集フラグ
Module現在プロファイリングされているモジュール
Interval現在の更新間隔
Time Resolution現在の時間解像度
Average表示値が平均かどうか
Game Frame経過した合計フレーム数
Session Frameこのプロファイリングセッションの合計フレーム数
Total Framesすべてのプロファイリングセッションにわたる合計フレーム数
Profiled Sess Frmsこのセッションでプロファイリングされたフレーム数
Profiled Framesすべてのセッションにわたってプロファイリングされたフレーム数

重要: Script Profilerはスクリプトコードのみをプロファイリングします。Proto(エンジンバインド)メソッドは個別のエントリとして計測されませんが、それらを呼び出すスクリプトメソッドの合計時間にその実行時間が含まれます。

重要: EnProfiler APIとスクリプトプロファイラー自体は、診断実行ファイルでのみ利用可能です。

Script Profiler Settings

これらの設定は、プロファイリングデータの収集方法を制御します。EnProfiler API(EnProfiler.c に記載)を通じてプログラムで調整することもできます。

Always Enabled

プロファイリングデータの収集はデフォルトでは有効になっていません。このトグルは現在アクティブかどうかを表示します。

起動時にプロファイリングを有効にするには、起動パラメータ -profile を使用します。

Script Profiler UIはこの設定を無視します -- UIが表示されている間は常にプロファイリングを強制します。UIをオフにすると、プロファイリングは再び停止します(「Always enabled」がtrueに設定されている場合を除く)。

Flags

データの収集方法を制御します。4つの組み合わせが利用可能です:

フラグの組み合わせスコープデータの有効期間
SPF_RESET | SPF_RECURSIVE選択したモジュール + 子フレームごと(各フレームでリセット)
SPF_RECURSIVE選択したモジュール + 子フレーム間で蓄積
SPF_RESET選択したモジュールのみフレームごと(各フレームでリセット)
SPF_NONE選択したモジュールのみフレーム間で蓄積
  • SPF_RECURSIVE:子モジュールのプロファイリングを有効にします(再帰的)
  • SPF_RESET:各フレームの終了時にデータをクリアします

Module

プロファイリングするスクリプトモジュールを選択します:

オプションスクリプトレイヤー
CORE1_Core
GAMELIB2_GameLib
GAME3_Game
WORLD4_World
MISSION5_Mission
MISSION_CUSTOMinit.c

Update Interval

ソートされたデータ表示を更新するまでに待機するフレーム数です。これは SPF_RESET によるリセットも遅延させます。

利用可能な値:0, 5, 10, 20, 30, 50, 60, 120, 144

Average

平均値の表示を有効または無効にします。

  • SPF_RESET を使用しインターバルなし:値はフレームごとの生の値
  • SPF_RESET なし:蓄積値をセッションフレーム数で割る
  • インターバル設定あり:インターバルで割る

クラスカウントは平均されません -- 常に現在のインスタンス数を表示します。アロケーションはインスタンスが作成された平均回数を表示します。

Time Resolution

表示の時間単位を設定します。値は分母(1秒のn分の1)を表します:

単位
1
1000ミリ秒
1000000マイクロ秒

利用可能な値:1, 10, 100, 1000, 10000, 100000, 1000000

(UI) Scale

異なる画面サイズと解像度向けに、画面上のプロファイラー表示のビジュアルスケールを調整します。

範囲:0.5〜1.5(デフォルト:1.0、ステップ:0.05)


Enfusion Renderer

メニュー構成

Enfusion Renderer
  Lights
  > Lighting
      Ambient lighting
      Ground lighting
      Directional lighting
      Bidirectional lighting
      Specular lighting
      Reflection
      Emission lighting
  Shadows
  Terrain shadows
  Render debug mode                [RCtrl + RAlt + W]
  Occluders
  Occlude entities
  Occlude proxies
  Show occluder volumes
  Show active occluders
  Show occluded
  Widgets
  Postprocess                      [LCtrl + LAlt + P]
  Terrain
  > Materials
      Common, TreeTrunk, TreeCrown, Grass, Basic, Normal,
      Super, Skin, Multi, Old Terrain, Old Roads, Water,
      Sky, Sky clouds, Sky stars, Sky flares,
      Particle Sprite, Particle Streak

Lights

実際のライトソース(PersonalLight やフラッシュライトなどのゲーム内アイテム)を切り替えます。環境ライティングには影響しません -- それにはLightingサブメニューを使用してください。

Lightingサブメニュー

各トグルは特定のライティングコンポーネントを制御します:

オプション無効時の効果
Ambient lightingシーン内の一般的なアンビエントライトを除去
Ground lighting地面から反射されるライトを除去(屋根、キャラクターの脇の下で確認可能)
Directional lightingメインのディレクショナル(太陽/月)ライトを除去。双方向ライティングも無効化
Bidirectional lighting双方向ライトコンポーネントを除去
Specular lightingスペキュラーハイライトを除去(食器棚、車などの光沢のある表面で確認可能)
Reflectionリフレクションライティングを除去(金属/光沢のある表面で確認可能)
Emission lightingマテリアルからのエミッション(自己発光)を除去

これらのトグルは、カスタムモデルやシーンのビジュアル問題をデバッグする際に、特定のライティング寄与を分離するのに便利です。

Shadows

シャドウレンダリングを有効または無効にします。無効にすると、オブジェクト内の雨のカリングも除去されます(雨が屋根を通り抜けるようになります)。

Terrain Shadows

テレインシャドウの生成方法を制御します。

オプション:on (slice), on (full), no update, disabled

Render Debug Mode

ゲーム内でメッシュジオメトリを検査するためのレンダー可視化モードを切り替えます。

オプション:normal, wire, wire only, overdraw, overdrawZ

異なるマテリアルは異なるワイヤーフレームカラーで表示されます:

マテリアルカラー (RGB)
TreeTrunk179, 126, 55
TreeCrown143, 227, 94
Grass41, 194, 53
Basic208, 87, 87
Normal204, 66, 107
Super234, 181, 181
Skin252, 170, 18
Multi143, 185, 248
Terrain255, 127, 127
Water51, 51, 255
Ocean51, 128, 255
Sky143, 185, 248

Occluders

オクルージョンカリングシステムのトグルセットです:

オプション効果
Occludersオブジェクトオクルージョンの有効/無効
Occlude entitiesエンティティオクルージョンの有効/無効
Occlude proxiesプロキシオクルージョンの有効/無効
Show occluder volumesスナップショットを取得し、オクルージョンボリュームを可視化するデバッグシェイプを描画
Show active occluders現在アクティブなオクルーダーをデバッグシェイプで表示
Show occludedオクルードされたオブジェクトをデバッグシェイプで可視化

Widgets

すべてのUIウィジェットのレンダリングを有効または無効にします。クリーンなスクリーンショットの撮影やレンダリング問題の分離に便利です。

Postprocess

ポストプロセスエフェクト(ブルーム、色補正、ビネットなど)を有効または無効にします。

Terrain

テレインレンダリングを完全に有効または無効にします。

Materialsサブメニュー

特定のマテリアルタイプのレンダリングを切り替えます。ほとんどは名前から明らかです。注目すべきエントリ:

  • Super -- 「super」シェーダーに関連するすべてのマテリアルを網羅する包括的なトグル
  • Old Terrain -- TerrainとTerrain Simpleの両方のマテリアルをカバー
  • Water -- 水に関連するすべてのマテリアル(海、海岸、川)をカバー

Enfusion World(物理演算)

メニュー構成

Enfusion World
  Show Bullet
  > Bullet
      Draw Char Ctrl
      Draw Simple Char Ctrl
      Max. Collider Distance
      Draw Bullet shape
      Draw Bullet wireframe
      Draw Bullet shape AABB
      Draw obj center of mass
      Draw Bullet contacts
      Force sleep Bullet
      Show stats
  Show bodies                      [LAlt + Numpad 6]

注意: ここでの「Bullet」はBullet物理エンジンを指し、弾薬ではありません。

Show Bullet

Bullet物理エンジンのデバッグ可視化を有効にします。

Bulletサブメニュー

オプション説明
Draw Char Ctrlプレイヤーキャラクターコントローラーを可視化。「Draw Bullet shape」に依存
Draw Simple Char CtrlAIキャラクターコントローラーを可視化。「Draw Bullet shape」に依存
Max. Collider Distanceコライダーを可視化するプレイヤーからの最大距離(値:0, 1, 2, 5, 10, 20, 50, 100, 200, 500)。デフォルトは0
Draw Bullet shape物理コライダーシェイプを可視化
Draw Bullet wireframeコライダーをワイヤーフレームのみで表示。「Draw Bullet shape」に依存
Draw Bullet shape AABBコライダーの軸平行バウンディングボックスを表示
Draw obj center of massオブジェクトの重心を表示
Draw Bullet contacts接触しているコライダーを可視化
Force sleep Bulletすべての物理ボディをスリープ状態に強制
Show statsデバッグ統計を表示(オプション:disabled, basic, all)。無効化後10秒間表示が残る

警告: Max. Collider Distanceはデフォルトで0です。この可視化は負荷が高いためです。大きな距離に設定すると、パフォーマンスが大幅に低下します。

Show Bodies

Bullet物理ボディを可視化します。オプション:disabled, only, all


DayZ Render

メニュー構成

DayZ Render
  > Sky
      Space
      Stars
      > Planets
          Sun
          Moon
      Atmosphere
      > Clouds
          Far
          Near
          Physical
      Horizon
      > Post Process
          God Rays
  > Geometry diagnostic
      diagnostic mode

Skyサブメニュー

個別の空レンダリングコンポーネントを切り替えます:

オプション制御対象
Space星の背後の背景テクスチャ
Stars星のレンダリング
Sun太陽とそのハロー効果(ゴッドレイではない)
Moon月とそのハロー効果(ゴッドレイではない)
Atmosphere空の大気テクスチャ
Far (Clouds)上層/遠方の雲。ライトシャフトには影響しない(密度が低い)
Near (Clouds)下層/近い雲。より密度が高く、ライトシャフトのオクルージョンとして機能
Physical (Clouds)非推奨のオブジェクトベースの雲。DayZ 1.23でChernarusとLivoniaから削除済み
Horizon水平線のレンダリング。水平線はライトシャフトを遮断する
God Raysライトシャフトのポストプロセスエフェクト

Geometry Diagnostic

オブジェクトのジオメトリがゲーム内でどのように見えるかを可視化するデバッグシェイプ描画を有効にします。

ジオメトリタイプ:normal, roadway, geometry, viewGeometry, fireGeometry, paths, memory, wreck

描画モード:solid+wire, Zsolid+wire, wire, ZWire, geom only

これはカスタムモデルを作成するモッダーにとって非常に便利です -- ゲームを離れることなく、ファイアジオメトリ、ビュージオメトリ、メモリポイントが正しく設定されているか確認できます。


Game

メニュー構成

Game
  > Weather & environment
      Display
      Force fog at camera
      Override fog
        Distance density
        Height density
        Distance offset
        Height bias
  Free Camera
    FrCam Player Move              [Page Up]
    FrCam NoClip
    FrCam Freeze                   [Page Down]
  > Vehicles
      Audio
      Simulation
  > Combat
      DECombat
      DEShots
      DEHitpoints
      DEExplosions
  > Legacy/obsolete
      DEAmbient
      DELight
  DESurfaceSound
  > Central Economy
      > Loot Spawn Edit
          Spawn Volume Vis
          Setup Vis
          Edit Volume
          Re-Trace Group Points
          Spawn Candy
          Spawn Rotation Test
          Placement Test
          Export Group
          Export All Groups
          Export Map
          Export Clusters
          Export Economy [csv]
          Export Respawn Queue [csv]
      > Loot Tool
          Deplete Lifetime
          Set Damage = 1.0
          Damage + Deplete
          Invert Avoidance
          Project Target Loot
      > Infected
          Infected Vis
          Infected Zone Info
          Infected Spawn
          Reset Cleanup
      > Animal
          Animal Vis
          Animal Spawn
          Ambient Spawn
      > Building
          Building Stats
      Vehicle&Wreck Vis
      Loot Vis
      Cluster Vis
      Dynamic Events Status
      Dynamic Events Vis
      Dynamic Events Spawn
      Export Dyn Event
      Overall Stats
      Updaters State
      Idle Mode
      Force Save

Weather & Environment

天候システムのデバッグ機能です。

Display

天候デバッグの可視化を有効にします。霧/視程の画面上デバッグを表示し、詳細な天候データを含む別のリアルタイムウィンドウを開きます。

サーバーとして実行中に別ウィンドウを有効にするには、起動パラメータ -debugweather を使用します。

ウィンドウ設定はプロファイルに weather_client_imgui.ini / weather_client_imgui.bin(サーバーの場合は weather_server_*)として保存されます。

Force Fog at Camera

霧の高さをプレイヤーカメラの高さに合わせます。Height bias設定よりも優先されます。

Override Fog

手動設定で霧の値をオーバーライドできます:

パラメータ範囲ステップ
Distance density0 -- 10.01
Height density0 -- 10.01
Distance offset0 -- 10.01
Height bias-500 -- 5005

Free Camera

フリーカメラはプレイヤーキャラクターからビューを切り離し、ワールド内を自由に飛行できるようにします。モッダーにとって最も便利なデバッグツールの一つです。

フリーカメラの操作

キー起源機能
W / A / S / DInputs (xml)前進 / 左 / 後退 / 右へ移動
QInputs (xml)上昇
ZInputs (xml)下降
マウスInputs (xml)周囲を見る
マウスホイール上Inputs (C++)速度増加
マウスホイール下Inputs (C++)速度減少
スペースバーCheat Inputs (C++)ターゲットオブジェクトの画面上デバッグを切り替え
Ctrl / ShiftCheat Inputs (C++)現在の速度 x 10
AltCheat Inputs (C++)現在の速度 / 10
EndCheat Inputs (C++)フリーカメラを無効化(プレイヤーに戻る)
EnterCheat Inputs (C++)カメラをターゲットオブジェクトにリンク
Page UpCheat Inputs (C++)フリーカメラ中のプレイヤー移動を切り替え
Page DownCheat Inputs (C++)カメラ位置のフリーズ/解除
InsertPluginKeyBinding (Script)プレイヤーをカーソル位置にテレポート
HomePluginKeyBinding (Script)フリーカメラの切り替え / 無効化してカーソル位置にテレポート
Numpad /PluginKeyBinding (Script)フリーカメラの切り替え(テレポートなし)

フリーカメラオプション

オプション説明
FrCam Player Moveフリーカメラ中にプレイヤー入力(WASD)がプレイヤーを動かすかどうかを有効/無効
FrCam NoClipカメラがテレインを通過できるかどうかを有効/無効
FrCam Freeze入力によるカメラの移動を有効/無効

Vehicles

車両の拡張デバッグ機能です。プレイヤーが車両内にいる場合のみ動作します。

  • Audio -- サウンド設定をリアルタイムで調整する別ウィンドウを開きます。オーディオコントローラーの可視化を含みます。
  • Simulation -- 車両シミュレーションデバッグの別ウィンドウを開きます:物理パラメータの調整と可視化。

Combat

戦闘、射撃、ヒットポイントのデバッグツールです:

オプション説明
DECombat車両、AI、プレイヤーまでの距離を画面上テキストで表示
DEShots弾道デバッグサブメニュー(以下参照)
DEHitpointsプレイヤーと注視しているオブジェクトのDamageSystemを表示
DEExplosions爆発の貫通データを表示。数値は減速値。赤い十字 = 停止。緑の十字 = 貫通

DEShowサブメニュー:

オプション説明
Clear vis.既存の射撃可視化をクリア
Vis. trajectory射撃の軌道をトレースし、出口点と停止点を表示
Always Deflectクライアントから発射されたすべての弾を跳弾させる

Legacy/Obsolete

  • DEAmbient -- アンビエントサウンドに影響する変数を表示
  • DELight -- 現在のライティング環境に関する統計を表示

DESurfaceSound

プレイヤーが立っているサーフェスタイプと減衰タイプを表示します。

Central Economy

Central Economy(CE)システムの包括的なデバッグツールセットです。

重要: ほとんどのCEデバッグオプションは、CEが有効なシングルプレイヤークライアントでのみ動作します。「Building Stats」のみがマルチプレイヤー環境またはCEがオフの場合に動作します。

注意: これらの機能の多くは、スクリプトの CEApiCentralEconomy.c)を通じても利用可能です。

Loot Spawn Edit

オブジェクト上のルートスポーンポイントを作成・編集するためのツールです。Edit Volumeツールを使用するにはフリーカメラを有効にする必要があります。

オプション説明スクリプト相当
Spawn Volume Visルートスポーンポイントを可視化。オプション:Off, Adaptive, Volume, OccupiedGetCEApi().LootSetSpawnVolumeVisualisation()
Setup VisCE設定プロパティをカラーコード付きコンテナで画面上に表示GetCEApi().LootToggleSpawnSetup()
Edit Volumeインタラクティブなルートポイントエディター(フリーカメラが必要)GetCEApi().LootToggleVolumeEditing()
Re-Trace Group Pointsルートポイントを再トレースして浮遊問題を修正GetCEApi().LootRetraceGroupPoints()
Spawn Candy選択したグループのすべてのスポーンポイントにルートをスポーン--
Spawn Rotation Testカーソル位置でローテーションフラグをテスト--
Placement Testスフィアシリンダーで配置を可視化--
Export Group選択したグループを storage/export/mapGroup_CLASSNAME.xml にエクスポートGetCEApi().LootExportGroup()
Export All Groupsすべてのグループを storage/export/mapgroupproto.xml にエクスポートGetCEApi().LootExportAllGroups()
Export Mapstorage/export/mapgrouppos.xml を生成GetCEApi().LootExportMap()
Export Clustersstorage/export/mapgroupcluster.xml を生成GetCEApi().ExportClusterData()
Export Economy [csv]エコノミーを storage/log/economy.csv にエクスポートGetCEApi().EconomyLog(EconomyLogCategories.Economy)
Export Respawn Queue [csv]リスポーンキューを storage/log/respawn_queue.csv にエクスポートGetCEApi().EconomyLog(EconomyLogCategories.RespawnQueue)

Edit Volumeのキーバインド:

キー機能
[コンテナを後方にイテレート
]コンテナを前方にイテレート
LMB新しいポイントを挿入
RMBポイントを削除
;ポイントサイズを増加
'ポイントサイズを減少
Insertポイントにルートをスポーン
M48個の "AmmoBox_762x54_20Rnd" をスポーン
Backspace近くのルートをクリーンアップ対象にマーク(ライフタイムを消費、即座ではない)

Loot Tool

オプション説明スクリプト相当
Deplete Lifetimeライフタイムを3秒に消費(クリーンアップ予約)GetCEApi().LootDepleteLifetime()
Set Damage = 1.0ヘルスを0に設定GetCEApi().LootSetDamageToOne()
Damage + Deplete上記の両方を実行GetCEApi().LootDepleteAndDamage()
Invert Avoidanceプレイヤー回避(近くのプレイヤーの検出)を切り替え--
Project Target Lootターゲットアイテムのスポーンをエミュレートし、画像とログを生成。「Loot Vis」の有効化が必要GetCEApi().SpawnAnalyze()GetCEApi().EconomyMap()

Infected

オプション説明スクリプト相当
Infected Visゾンビゾーン、ロケーション、生存/死亡ステータスを可視化GetCEApi().InfectedToggleVisualisation()
Infected Zone Infoカメラがインフェクテッドゾーン内にあるときの画面上デバッグGetCEApi().InfectedToggleZoneInfo()
Infected Spawn選択したゾーンにインフェクテッドをスポーン(またはカーソル位置に "InfectedArmy")GetCEApi().InfectedSpawn()
Reset Cleanupクリーンアップタイマーを3秒に設定GetCEApi().InfectedResetCleanup()

Animal

オプション説明スクリプト相当
Animal Vis動物ゾーン、ロケーション、生存/死亡ステータスを可視化GetCEApi().AnimalToggleVisualisation()
Animal Spawn選択したゾーンに動物をスポーン(またはカーソル位置に "AnimalGoat")GetCEApi().AnimalSpawn()
Ambient Spawnカーソルターゲットに "AmbientHen" をスポーンGetCEApi().AnimalAmbientSpawn()

Building

Building Stats は建物のドア状態に関する画面上デバッグを表示します:

  • 左側:各ドアが開いている/閉じている、フリー/ロックされているか
  • 中央:buildings.bin(建物の永続性)に関する統計

ドアのランダム化は initOpened config値を使用します。rand < initOpened のとき、ドアは開いた状態でスポーンします(そのため initOpened=0 はドアが開いた状態でスポーンしないことを意味します)。

economy.xmlでの一般的な <building/> 設定:

設定動作
init="0" load="0" respawn="0" save="0"永続性なし、ランダム化なし、再起動後デフォルト状態
init="1" load="0" respawn="0" save="0"永続性なし、initOpenedによるドアのランダム化
init="1" load="1" respawn="0" save="1"ロックされたドアのみ保存、initOpenedによるドアのランダム化
init="0" load="1" respawn="0" save="1"完全な永続性、正確なドア状態を保存、ランダム化なし

その他のCentral Economyツール

オプション説明スクリプト相当
Vehicle&Wreck Vis「Vehicle」回避に登録されたオブジェクトを可視化。黄色 = 車、ピンク = レック(Building)、青 = InventoryItemGetCEApi().ToggleVehicleAndWreckVisualisation()
Loot Vis注視しているもの(ルート、インフェクテッド、ダイナミックイベント)のエコノミーデータを画面上に表示GetCEApi().ToggleLootVisualisation()
Cluster VisTrajectory DEの統計を画面上に表示GetCEApi().ToggleClusterVisualisation()
Dynamic Events StatusDEの統計を画面上に表示GetCEApi().ToggleDynamicEventStatus()
Dynamic Events VisDEスポーンポイントを可視化・編集GetCEApi().ToggleDynamicEventVisualisation()
Dynamic Events Spawn最寄りのポイントにダイナミックイベントをスポーン、またはフォールバックとして "StaticChristmasTree"GetCEApi().DynamicEventSpawn()
Export Dyn EventDEポイントを storage/export/eventSpawn_CLASSNAME.xml にエクスポートGetCEApi().DynamicEventExport()
Overall StatsCE統計を画面上に表示GetCEApi().ToggleOverallStats()
Updaters StateCEが現在処理している内容を表示--
Idle ModeCEをスリープ状態にする(処理を停止)--
Force Savestorage/data フォルダ全体の保存を強制(プレイヤーデータベースは除外)--

Dynamic Events Visのキーバインド:

キー機能
[利用可能なDEを後方にイテレート
]利用可能なDEを前方にイテレート
LMB選択したDEの新しいポイントを挿入
RMBカーソルに最も近いポイントを削除
MMBホールドまたはクリックで角度を回転

AI

メニュー構成

AI
  Show NavMesh
  Debug Pathgraph World
  Debug Path Agent
  Debug AI Agent

重要: AIデバッグは現在マルチプレイヤー環境では動作しません。

Show NavMesh

ナビゲーションメッシュを可視化するデバッグシェイプを描画します。統計を含む画面上デバッグを表示します。

キー機能
Numpad 0カメラ位置に「Test start」を登録
Numpad 1カメラ位置のタイルを再生成
Numpad 2カメラ位置周辺のタイルを再生成
Numpad 3可視化タイプを前方にイテレート
LAlt + Numpad 3可視化タイプを後方にイテレート
Numpad 4カメラ位置に「Test end」を登録。スタートとエンド間にスフィアとラインを描画。緑 = パスあり、赤 = パスなし
Numpad 5NavMesh最近傍位置テスト(SamplePosition)。青のスフィア = クエリ、ピンクのスフィア = 結果
Numpad 6NavMeshレイキャストテスト。青のスフィア = クエリ、ピンクのスフィア = 結果

Debug Pathgraph World

完了したパスジョブリクエスト数と現在ペンディング中の数を表示する画面上デバッグです。

Debug Path Agent

AIのパスに関する画面上デバッグとデバッグシェイプです。AIエンティティをターゲットにして追跡対象として選択します。AIがどのようにパスを見つけるかに特に興味がある場合に使用します。

Debug AI Agent

AIの警戒度と動作に関する画面上デバッグとデバッグシェイプです。AIエンティティをターゲットにして追跡対象として選択します。AIの意思決定と認識状態を理解したい場合に使用します。


Sounds

メニュー構成

Sounds
  Show playing samples
  Show system info

Show Playing Samples

現在再生中のサウンドのデバッグ可視化です。

オプション説明
noneデフォルト、デバッグなし
ImGui別ウィンドウ(最新版)。フィルタリング対応、全カテゴリカバー。設定はプロファイルに playing_sounds_imgui.ini / .bin として保存
DbgUIレガシー。カテゴリフィルタリングあり、より読みやすいが、画面外に出る場合があり車両カテゴリが欠如
Engineレガシー。リアルタイムのカラーコード付きデータと統計を表示するが、画面外に出る場合がありカラー凡例なし

Show System Info

サウンドシステムの画面上デバッグ統計(バッファ数、アクティブソース数など)です。


モッダーに便利な機能

すべてのオプションに用途がありますが、モッダーが最も頻繁に利用するものは以下です:

パフォーマンス分析

  1. FPSカウンター(LCtrl + Numpad 1)-- Modがフレームレートを破壊していないかの簡易チェック
  2. Script Profiler -- どのクラスや関数が最もCPU時間を消費しているか特定。ModのスクリプトレイヤーにフォーカスするにはモジュールをWORLDまたはMISSIONに設定

ビジュアルデバッグ

  1. フリーカメラ -- スポーンされたオブジェクトの検査、位置の確認、遠距離からのAI動作のチェックのために飛び回る
  2. Geometry Diagnostic -- ゲームを離れることなく、カスタムモデルのファイアジオメトリ、ビュージオメトリ、ロードウェイLOD、メモリポイントを検証
  3. Render Debug Mode(RCtrl + RAlt + W)-- メッシュ密度とマテリアル割り当てを確認するためのワイヤーフレームオーバーレイを表示

ゲームプレイテスト

  1. フリーカメラ + Insert -- マップ上のどこにでもプレイヤーを瞬時にテレポート
  2. Weather Override -- 視界依存機能をテストするための特定の霧条件を強制
  3. Central Economyツール -- インフェクテッド、動物、ルート、ダイナミックイベントをオンデマンドでスポーン
  4. 戦闘デバッグ -- 射撃軌道のトレース、ヒットポイントダメージシステムの検査、爆発貫通のテスト

AI開発

  1. Show NavMesh -- AIが期待する場所に実際にナビゲートできることを検証
  2. Debug AI Agent -- インフェクテッドや動物が何を考えているか、どの警戒レベルにあるかを確認
  3. Debug Path Agent -- AIが実際に通っているパスとパスファインディングが成功しているかを確認

Diag Menuを使用するタイミング

開発中

  • Script Profiler -- フレームごとのコード(OnUpdate、EOnFrame)を最適化する際
  • フリーカメラ -- オブジェクトの配置、スポーン位置の確認、モデル配置の検査
  • Geometry Diagnostic -- 新しいモデルのインポート直後にLODとジオメトリタイプを検証
  • FPSカウンター -- 新機能追加の前後のベースラインとして

テスト中

  • 戦闘デバッグ -- 武器ダメージ、弾道動作、爆発効果の検証
  • CEツール -- ルート分布、スポーンポイント、ダイナミックイベントのテスト
  • AIデバッグ -- インフェクテッド/動物の動作がプレイヤーの存在に正しく反応するか検証
  • 天候デバッグ -- 異なる天候条件下でModをテスト

バグ調査中

  • FPSカウンター + Script Profiler -- プレイヤーからパフォーマンス問題が報告された場合
  • フリーカメラ + スペースバー(オブジェクトデバッグ)-- 正しく動作していないオブジェクトの検査
  • Render Debug Mode -- ビジュアルアーティファクトやマテリアル問題の診断
  • Show Bullet -- 物理衝突問題のデバッグ

よくある間違い

製品版実行ファイルの使用。 Diag Menuは DayZDiag_x64.exe でのみ利用可能です。Win+Altを押しても何も起きない場合、製品版ビルドを実行しています。

Max. Collider Distanceが0のまま。 物理可視化(Draw Bullet shape)は、Max. Collider Distanceがデフォルトの0のままだと何も表示しません。周囲のコライダーを見るには少なくとも10〜20に設定してください。

マルチプレイヤーでのCEツール。 ほとんどのCentral Economyデバッグオプションは、CEが有効なシングルプレイヤーでのみ動作します。専用サーバーで機能することを期待しないでください。

マルチプレイヤーでのAIデバッグ。 AIデバッグは現在マルチプレイヤー環境では動作しません。AI動作はシングルプレイヤーでテストしてください。

「Bullet」を弾薬と混同。 「Enfusion World」カテゴリの「Bullet」オプションはBullet物理エンジンを指し、武器の弾薬ではありません。戦闘関連のデバッグはGame > Combatの下にあります。

プロファイラーをオンのまま。 Script Profilerは測定可能なオーバーヘッドがあります。プロファイリング完了後はオフにして、正確なFPS読み取り値を取得してください。

大きなコライダー距離値。 Max. Collider Distanceを200や500に設定すると、フレームレートが大幅に低下します。関心のあるエリアをカバーする最小の値を使用してください。

前提条件の有効化忘れ。 いくつかのオプションは他のオプションが先に有効化されている必要があります:

  • 「Draw Char Ctrl」と「Draw Bullet wireframe」は「Draw Bullet shape」に依存
  • 「Edit Volume」はフリーカメラが必要
  • 「Project Target Loot」は「Loot Vis」の有効化が必要

次のステップ

Released under CC BY-SA 4.0 | Code examples under MIT License