コントローラー解析
DaerD はコントローラー全体を監査し、見つかった問題を一覧で提示します。あわせて、コントローラー全体に対する一括修正も提供します。
検出される主な項目
| カテゴリ | 深刻度 | 内容 |
|---|---|---|
| 未使用パラメータ | Info | どこからも参照されていないパラメータ。 |
| 不正な条件 | Error | 存在しないパラメータを参照する条件、または型に対して無効なモードの条件。 |
| 無効なトランジション | Warning | 実質的に成立し得ない(デッド)トランジション。 |
| 到達不能ステート | Warning | 入ってくる遷移がなく、デフォルトステートでもないステート。 |
| 名前の重複 | Warning | 同一ステートマシン内で重複しているステート名。 |
| Write Defaults の混在 | Warning | 1 つのレイヤー内で Write Defaults の ON / OFF が混在している。 |
| 出られないステート群 | Info | 一度入ると外へ抜けられないステートの集合(相互に閉じたループ)。 |
「出られないステート群」は、グラフを強連結成分に分解して「入れるが二度と出られない」まとまりを検出します。意図しない行き止まりの発見に役立ちます。
パラメータの使用箇所
未使用パラメータの判定では、次の参照をすべて「使用中」として数えます。
- トランジションの条件
- BlendTree のブレンドパラメータ(X / Y / Direct)
- ステートの Speed / Time / CycleOffset / Mirror パラメータ
このため、BlendTree やステートの各種パラメータで使っているだけのパラメータが、誤って「未使用」と判定されることはありません。
一括修正
コントローラー全体に対する修正も行えます。代表的なものが Write Defaults の一括設定です。
- すべてのステートの Write Defaults をまとめて ON / OFF に揃えられます。
- OFF に切り替える際、Direct BlendTree のみで構成されるレイヤーなど、特別な扱いが必要なケースを考慮します。
レイヤー内で Write Defaults が混在していると予期しない挙動の原因になりがちなため、まとめて揃えたいときに有用です。