-
-
Notifications
You must be signed in to change notification settings - Fork 2
Inspector ja
English | 日本語
実験的な機能で、今後もそのままです。 ライブラリ Inspector は
DragNWash.ModFramework.Inspector.dllで、名前空間はDragNWash.ModFramework.Inspectorです。フレームワーク 1.2.0 で出しました。変わったりなくなったりすることがありますし、これで加えた編集が、動いているセッションを壊すこともあります。フレームワークのリリースには入っていますが、Mod のリリースでは Tool window だけを入れて、これを外すこともできます(Drag'n Wash Localization は外しています)。
オンにする方法をお探しですか? すぐ下の 導入 をご覧ください。
Inspector は、Mod に同梱されるインストーラーには入っておらず、Drag'n Wash Localization にも入っていないので、手で入れてください。
-
フレームワークのリリースから
DragNWash.ModFramework-<バージョン>.zipをダウンロードします。 - 中の
BepInEx/plugins/DragNWash.ModFramework.Inspectorフォルダーを、ゲームのBepInEx/pluginsフォルダーにコピーします。 - ゲームを起動して、Developer tools(Options → Mods → Drag'n Wash ModFramework)をオンにします。
- F1 を押して、Inspector タブを開きます。
外すときは、そのフォルダーを削除します。
Tool window(F1。Developer tools がオンのとき)にある Inspector タブです。シーンのオブジェクト、そのコンポーネントとマテリアル、すべてのフィールドとプロパティを、ゲームを動かしたまま読んだり書き換えたりできます。Unity のエディターの Inspector がやっていることを、ビルドしか手元にないゲームでできるようにしたものです。Mod を作る人が「これは何で、何という名前で、どんな値を持っているのか」を知ったり、コードを 1 行書く前に変更を試したりするためのもので、遊ぶ人の目に触れることはありません。
- 調べものに使えます。看板の裏にあるオブジェクトの名前、扉を動かしているコンポーネント、カウンターのマテリアルとそのシェーダー、こする速さを持っているフィールドなど、Mod の
GameHooks.RequireやAssetReplacementsに要る名前を、逆コンパイルしなくても見て探せます。 - 試すこともできます。値を変えるとすぐゲームに表れますが、何も保存しないので、編集はシーンを読み直すかゲームを終えるまでのものです。編集を残したいときは Export as overrides を見てください。
- RuntimeUnityEditor とは別物です。REPL、引数つきのメソッド呼び出し、コンポーネントの追加や削除、プレハブの生成はありません。RuntimeUnityEditor は自分の窓を開いてカーソルと入力を握るので、Tool window とぶつかります。どちらか一方だけを使ってください。
[BepInDependency(Inspector.Guid, BepInDependency.DependencyFlags.SoftDependency)]- ツールバーには ☰ Tree(ヒエラルキー。必要なときだけ)、◎ Pick、↑ Parent、Edit ▾(Move / Rotate / Scale、メッシュの頂点編集、Reset transform、Reset mesh)、View ▾(Highlight、Bones、Wireframe、フリーカメラ、デバッグ表示)、◐ History、↺ Refresh、?(キーの一覧。キー を見てください。1.5.0 から)と検索欄が並びます。メニューはウィンドウの中に収まり、長いときはホイールで(1.5.0 からはゲームパッドのスティックでも)スクロールします。開いたメニューの下にあるものは、マウスに反応しません。1.5.0 からは、メニューの項目や Tree と Pick のツールチップに、いま設定されているキーが「Bones (B)」のように出ます。キーのない操作には何も付きません。ツールバーの下には選択中のもののパスがパンくずで出て、親の名前がそれぞれボタンになっています。
- View ▾ は、1.5.0 から見出しで分かれます。OVER THE GAME(Highlight the selection、Bones、Wireframe、Free camera)、DEBUG VIEW (PICK ONE)(デバッグ表示の 3 つの範囲)、IT SHOWS(コライダーとトリガー、ライト、Rigidbody)、HOW IT DRAWS(デバッグ表示全体の描き方)、IN THE PANE(Rigidbodies list、Scenes and levels)です。デバッグ表示の範囲は 1 つしか選べないので丸い印が付き、ほかの項目はオンのときにチェックが付きます(窓のフォントにその記号がないときは x と * になります)。
-
検索は、名前でオブジェクトを探します。1.5.0 からは、結果の上の行に
3 objects match "wheel"、Nothing matches "whel".、The first 500 are shown; type more to narrow it.のように、見つかった数が出ます。Objects と同じくt:Rigidbody(どのコンポーネントの型でも)とも書けて、そのコンポーネントを持つオブジェクトが出ます。後ろに名前を足せば、さらに絞れます。t:の検索はその型のオブジェクトを全部見るので、打ち終わってから動きます。どのコンポーネントの型にもない名前なら、そう出ます。狭い窓では、検索欄に打つと結果のページに移ります。 - Pick では、ゲーム内のオブジェクトをクリックして選びます。先に uGUI の要素を見て、次にポインターの周りで画面上の bounds がいちばん小さい Renderer を選ぶので、コライダーは要りません。重なった候補はホイールで切り替えられ、選ばれる候補には枠と名前が出ます。Highlight をオンにすると、選択中のものに枠と名前タグが出たままになります。
- コンポーネントは、メンバーの上にボタンで横に並びます(Renderer のマテリアルもここに並びます)。その下がメンバーで、public が先、非公開のものは Show private の中にあり、毎フレーム読み直します。Hold values でこの読み直しが止まりますが、ゲームのほうは値を変え続けます(1.5.0 より前は Freeze という名前でした)。Transform はまず位置・回転・スケールを出し、All members で残りも出ます。非公開のフィールドで値を変えるのは、Mod 作者の自己責任です。
- 1.5.0 からは、メンバーに専用の Filter members 欄が付き、横に「14 of 62」のように件数が出ます。同じ型のほかのオブジェクトを選んでも打った文字は残り、Transform では位置・回転・スケールだけでなく、全部のメンバーから探します。欄に収まらない名前は「...」で切れ、マウスを載せると、窓の下のヒントの行に名前全体と型が
maxAngularVelocity : float (property).のように出ます。数値なら、値の上を上下にドラッグして変えられることも出ます。上のボタン(Show private、Hold values、Enabled、Code)は、狭い窓では 2 行目に折り返します。 - 1.5.0 からは、メンバーの行の終わりに小さな ... ボタンが付きます。右クリックと同じメニューが開き、いまの値、Reset to original、Undo、Copy value、Copy name、Show in History が並びます。ゲームパッドや Steam Deck は左クリックしかできないので、そこではこのボタンからメニューを開いてください。右クリックもそのまま使えます。
- 1.5.0 からは、Scene のツリーと Objects の一覧で選んでいる行の左に、アクセントの色の線が付きます。ツリーに収まらない名前は「...」で切れ、名前全体はヒントの行に出ます。
- メンバーの代わりに出る画面(History、Rigidbodies、Scenes and levels、Layers、Clips、Used by、Code)は、1.5.0 から、どれも上に同じ帯が付きます。左端の < Members でメンバーに戻れて、その右に画面の名前と短い説明が出ます。
- 1.5.0 からは、ボタンを押した結果が窓の下のお知らせの帯に出るので、見落としません。対象は Undo last と Ctrl+Z、History の Undo と Redo、Show private の注意、Used by で消えたオブジェクトの Go、Assets ライブラリがないときのテクスチャの Assets ボタン、Export as overrides です。失敗は赤、注意は黄色で出ます。Used by と、そのセッションで最初の Graph は、始める前にタブの真ん中に「Looking where ... is used」「Reading the game's code...」と出すので、窓が黙って固まることはありません。
実験的な機能です。 フレームワーク 1.4.0 で入ったもので、この先のバージョンで変わったり、無くなったりするかもしれません。
ツールバーの先頭に Scene | Objects の切り替えがあります。Scene はここまでに書いたタブのままで、Objects にすると、Unity が読み込んでいるものすべてが左の欄にエクスプローラーとして出ます。Unity の Project ウィンドウのような並びで、右側は今までの中身の欄のままです。
- 中身は種類ごとのフォルダーに分かれていて、それぞれ件数が付きます。フォルダーは Textures、Sprites、Materials、Shaders、Meshes、Audio、Animation、Fonts、Data(ScriptableObject の型ごとのフォルダーで、ゲーム自身のものが先)、Objects outside the scenes、Other です。各行には、テクスチャなら大きさと形式、メッシュなら頂点数、クリップなら長さ、とひと言だけ添えてあります。Show hidden で Unity が隠し扱いにしているものも出し、Close all で全部たたみます。
- 検索は名前でできるほか、
t:Materialのように型名を書くと、その種類だけに絞れます。 - 選んだものの見出しにある Used by で、どこで使われているかが出ます。レンダラー、メッシュフィルター、コライダー、スプライト、オーディオソース、Animator とコントローラー、マテリアル、それを持てるスクリプトや ScriptableObject のフィールドまで見て、それぞれに Go が付きます。2,000 か所で打ち切り、いくつ見たかと、どれだけ時間がかかったかも出します。
- 中身の行、編集、Reset、History は Scene と同じように使えます。複数から共有されているもの(多くのレンダラーが使うマテリアルなど)を初めて編集したときは、一度だけそう知らせます。シーンの外の GameObject は読み取り専用です。シーンの中にあるものではなく、ゲームが読み込んだまま持っている雛形だからです。
- 一覧は、開いたとき、Refresh を押したとき、シーンを読み込んだあとに、一度で作ります(時間を決めて作り直すことはしません)。かかった時間は状態の行に出ます。お客のいるレベルで、だいたい 8,500 個を 70〜120 ms で作ります。一覧が持っているのは参照ではなくインスタンス ID なので、一覧のせいで何かが読み込まれたままになることはありません。
- 検索の文字と選択は表示ごとに別々に持っているので、Scene に戻ると、Scene で選んでいたものがそのまま選ばれています。
| 型 | 操作 |
|---|---|
bool |
トグル |
| 数値 | 入力欄。打って Enter を押すか欄を離れるか、欄を押したまま上下にドラッグします。読めない値は元に戻り、行に理由が出ます |
string |
入力欄 |
| 列挙型 | 値と小さな矢印のボタン。押すと値の一覧が開き、いまの値に印が付いているので、選びたいものを選びます。長い一覧は、いまの値のところで開きます(1.5.0 から。それまでは押すたびに次の値へ進んでいました) |
Vector2/3/4、Quaternion(オイラー角)、Rect、Bounds、Vector2Int/3Int
|
成分ごとの欄 |
Color、Color32
|
チャンネルごとの欄と、カラーピッカーを開く色見本(彩度×明度の正方形、色相バー、RGBA のバー、16 進) |
UnityEngine.Object の参照 |
名前と Go(テクスチャの Go は Assets タブをそのテクスチャで開きます)。編集はできません |
| リストと配列 | Expand で要素ごとに 1 行。追加や削除はできません |
| それ以外 | 文字で表示するだけで、編集はできません |
プロパティは setter があるときだけ編集できます。setter が例外を投げたら、その行にエラーが出て、タブはそのまま動き続けます。
マテリアルのメンバーは、シェーダーのプロパティ(Float、上下限付きの Range、Int、Color、Vector、Texture)と、トグルつきのキーワードです。Texture のプロパティには、テクスチャの名前・大きさ・形式と、Assets タブでそれを開く Go が出ます。ここでは編集できません(テクスチャの差し替えには別のやり方があります)。マテリアルを変えると、それを共有しているすべての Renderer が変わり、いくつが共有しているかは画面に出ます。
コンポーネントごとに Code 表示があります。型とアセンブリ、メソッドの一覧、それらに Mod が当てている Harmony パッチ(と、誰のパッチか)、UnityEvent のリスナー、メソッドの IL が見られます。IL は Mono.Cecil で読んでいるので、C# で見たいときは、ゲームのファイルを dnSpy や ILSpy で開いてください。
-
Copy は
Type:Methodをコピーします。AccessTools.MethodにもGameHooks.Requireにもそのまま渡せます(中核 API)。 -
Patch は Harmony パッチをまるごとコピーします。中身は
GameHooks.Requireの確認、[HarmonyPatch]属性(名前だけでは曖昧なときは引数の型と渡し方も)、それに__instance・ゲーム側の引数名・参照渡しのref・__resultを使った Prefix と Postfix です。Mod に貼って、GUID と機能名を埋めれば動きます。
実験的な機能です。 フレームワーク 1.4.0 で入ったもので、この先のバージョンで変わったり、無くなったりするかもしれません。
Code 表示の Graph ボタン(ゲームのメソッドごと)と Type graph ボタン(型全体)で、コードのグラフが開きます。同じコードを図にしたもので、メソッドのブロックと分岐、呼ぶもの、呼び出し元、付いているパッチ、そこへ来るイベントを見られます。Bridge ライブラリが要るので、F1 の窓の Bridge タブでオンにしておいてください。詳しくは コードのグラフ を見てください。
- デバッグ表示(View ▾ の DEBUG VIEW (PICK ONE))では、同じ種類のものをまとめて枠で囲みます。対象は、カメラに映るすべての Renderer、選択の子孫、検索に合うもののどれかです。描き方(選択だけ、コライダーとライトの形、画面上の四角、3D の箱、名前)は HOW IT DRAWS で決めます。アクティブなオブジェクトのコライダー・トリガー・ライトも、選択中のものだけか、シーン全体で出せます。コライダーとライトは形どおりに描くので、Box は箱、Sphere は球、Capsule はカプセル、スポットライトは円錐になります。凸形状の MeshCollider は、ラベルに convex と出ます。
- MeshCollider は、メッシュが読めればワイヤーフレームで描きます。形を物理エンジンしか知らないときは、範囲の 6 方向からレイで写し取ります。写し取った形はあくまで推定なので、細い部分やくぼみが抜けることがあり、ラベルにもそう出ます。
- Bones(初期設定は B)はスキンメッシュのボーンを描き、関節をクリックするとそのボーンを選びます。Wireframe(初期設定は N)は選択のメッシュを描きます。
- メッシュの頂点編集(初期設定は M)は Inspector の中でもさらに実験的な機能です。メッシュのコピーの頂点をドラッグして動かします(GPU にしかないメッシュは先に読み出します)。History と Reset mesh も使えます。スキンメッシュは編集できず、何も保存されません。
- Move / Rotate / Scale は、ゲーム画面にオブジェクトのローカル軸を描きます。軸か、その先端をドラッグしてください。位置・回転・スケールの値が出て、Edit ▾ の Reset transform でギズモが変えた分を戻せます。
- Free camera(初期設定は C)では、ゲームのカメラのコピーを、Unity のシーンビューと同じように右ボタンを押したまま飛ばせます(マウスで視点、W A S D、Q E、Shift で速く、ホイールで速度)。飛ぶためのキーは変えられません。その間ゲームのカメラは無効になり、フリーカメラを止めると戻ります。1.5.0 からは、始めたときのお知らせに、止めるためのキーがいまの設定どおりに出ます。キーがないときは、ボタンのことだけが出ます。
実験的な機能です。 フレームワーク 1.4.0 で入ったもので、この先のバージョンで変わったり、無くなったりするかもしれません。
ゲームは Rigidbody で物を動かしているので、Inspector は Rigidbody を読んで一覧にし、いくつかのスイッチも操作できるようにしています。Rigidbody と Rigidbody2D の両方が対象です。
- デバッグ表示では、View → Rigidbodies: centre of mass, velocity(IT SHOWS の下。1.5.0 より前は「centre of mass and velocity」でした)で、各ボディの重心に十字を、進む向きに矢印(いまの速度で 0.25 秒ぶん進む長さ)を描きます。タグには速さ・回転の速さ・質量・種類(dynamic、kinematic、static)・スリープ中かどうかが出て、スリープ中のボディは灰色になります。Of the selection only で、コライダーやライトと同じく、選択とその子だけに絞れます。
- View → Rigidbodies list では、シーンの(または選択の下の)有効なボディを、メンバーの代わりに一覧で出します。名前・型・いまの動きを速い順に並べ、Awake only と、名前や型での絞り込みもあります。Select でボディを開いても一覧は開いたままなので、順に見ていけます。
- ボディを選ぶと、いまの動きを示す行と、メンバーの上に操作用のボタンが出ます。ボタンは Stop(速度と回転を 0 に)、Kinematic(オンとオフ。History に残るので Undo で戻せます)、Sleep / Wake です。
- Pause physics(Inspector の中でもさらに実験的)はボディをその場に止め、Step で物理を固定ステップ 1 つぶん進めます。ゲームのスクリプトは動き続けるので、その間に加えられた力は次のステップで効きます。Resume physics を押すか、窓を閉じるか、開発者ツールをオフにすれば、物理はゲームが持っていた状態に戻ります。
実験的な機能です。 フレームワーク 1.4.0 で入ったもので、この先のバージョンで変わったり、無くなったりするかもしれません。
ゲームはキャラクターを Animator で動かしていて、その多くはパラメーターとレイヤーの重みを変えることで操っています。
- パラメーターとレイヤーの重みは、選んだ Animator のメンバーの先頭に行として並びます。数値はドラッグで、Bool は切り替えで変えられ、Trigger は true でセット、false でリセットです。ほかのメンバーと同じく History に残ります。ただ、ゲームは多くのパラメーターを毎フレーム書き込むので、そういうパラメーターは変えても、ゲームが次に書き込むまでしか持ちません。
- 行の上には、Base Layer でいま流れているものが 1 行で出ます。Layers では、メンバーの代わりにすべてのレイヤーを一覧にします(竜は 10 以上あります)。レイヤーごとに、重み、流れているクリップ(ブレンド中はそれぞれの重みも)、ステートをどこまで進んだか、ブレンド先のクリップが出ます。
- Pause animation で Animator を止め、元の速さを覚えておきます。Step で 1/30 秒ずつ進み、Layers ではレイヤーごとのスライダーで、いまのステートを好きな位置に置けます。Resume animation を押すか、窓を閉じるか、開発者ツールをオフにすれば、元の速さに戻ります。
- Clips(Animator のボタンの 1 つ)では、メンバーの代わりにコントローラーのクリップを一覧にし、それぞれの長さ、フレームレート、ループするか、イベント、何に差し替えているかを出します。Preview は、コントローラーが流しているものの上から、クリップをその Animator で流します。時間のスライダーと一時停止、Stop preview もあります。Replace でメモリーに読み込まれているクリップを全部並べ、Use でコントローラーがそちらを流すようにします。The game's clip で元に戻ります。差し替えは History に残り(Undo で 1 つ前に戻ります)、Animator のステートは最初からになります。
- ゲームの中ではできないこともあります。ステートマシン(ステートと遷移)と、クリップの中のカーブは、Unity のエディターにしかありません。ステートは番号でしか分からないので、流れているクリップの名前で見分けます。
実験的な機能です。 フレームワーク 1.4.0 で入ったもので、この先のバージョンで変わったり、無くなったりするかもしれません。
View → Scenes and levels で、メンバーの代わりに一覧が開きます。ゲームのシーンは少なく(タイトル、PlayGame、特定のレベルのあとのシーン、クレジット)、レベルは PlayGame の中で進みます。ここのものはすべてゲーム自身の型から読んでいるので、ゲームの更新で名前が変わると、この機能はオフになります。
- PlayGame の中では、いまのレベルの番号、竜、天気、竜の状態、どれだけきれいかが出ます。Skip level と Clean the dragon は、ゲーム自身のチートを呼びます。Skip はレベルを終えたことにするので、次のレベルまで進んだとセーブされます。
- レベルの一覧には、すべてのレベルが竜と天気つきで並びます。Start を押すと、いまのレベルの代わりにそのレベルが始まります。前のレベルで立つはずのフラグは立たないので、会話が普通に遊んだときと違うことがあります。
- ゲームは、レベルを終えると「遊んだレベル + 1」を、シーンを最後まで見ると「見た」印をセーブします。なので順番どおりでないレベルやシーンを遊ぶと、セーブの進み具合が戻ったり進んだりしてしまいます。そこで Start と、いまのシーン以外の Load は、お試しプレイとして始まります。タイトル画面に戻るまではゲームのセーブが書き込まれず、一覧の上にもそう出ます。普通のプレイ中の Skip level は、ゲームのチートと同じようにセーブします(ゲームが書いたセーブは、フラグとセーブ ライブラリがすべて控えています)。
- シーンの一覧には、読み込まれているシーンと、ゲームのすべてのシーンが並びます。Load は、ゲームのメニューと同じように読み込み画面を通ります。Reload は、いまのシーンを読み直します。
戻し方は 2 つあります。Undo と Redo は編集を 1 つずつ戻したり進めたりし、Reset は最初に編集する前の値まで戻します(1.5.0 より前は、History の Undo ボタンは Revert という名前でした)。
- すべての編集(行、ギズモ、カラーピッカー。変更 1 回につき 1 件)が、変更前と変更後の値つきで History に並びます。項目ごとに Undo があり、戻したあとは Redo に変わって、その項目には「(undone)」と出ます。ほかに Undo last(Ctrl+Z)と Clear もあります。1.5.0 からは、Clear は押す前に確かめます。編集はかかったままで、あとから戻せなくなるからです。結果は
Undid drag: back to 0.05.やRedid drag: 2 again.のようにお知らせで出て、ログにも[inspector] Undid ...、[inspector] Redid ...と出ます。 - 1.5.0 からは、狭い窓では History のボタンが 2 行目に折り返し、編集の長い行は「...」で切れて、全体はヒントの行に出ます。
- 編集した行の Reset は、最初に編集する前の値に戻します。行を右クリックするか、行の ... ボタンを押すと、いまの値、Reset to original、直前の値に戻す Undo: back to、Copy value、Copy name、Show in History が出ます。x / y / z(r / g / b / a)の欄を右クリックすると、その成分だけについて同じものが出ます。
実験的な機能です。 フレームワーク 1.4.0 で入ったもので、この先のバージョンで変わったり、無くなったりするかもしれません。
Overrides ライブラリを入れていると、History の画面に Export as overrides が出ます。これで編集を、コードのない Mod にできます。その Mod は、ゲームを起動するたびに Overrides ライブラリが当ててくれます。
- 編集をしてから ◐ History を開き、Export as overrides を押します。
- 書き出す値の数と、書き出せない編集がフォームに出ます。Name(Mod のフォルダー名。最初は
My changes)、Author、Description を入れて Export を押します(Cancel でフォームを閉じます)。1.5.0 からは、書き出すものがないとき Export は灰色になって押せず、横に「Nothing to export yet.」か「None of these edits can be overrides.」と理由が出ます。 - Mod は
BepInEx/plugins/<名前>に、mod.jsonとoverrides/main.jsonとして書き出されます。同じ Mod にもう一度書き出すと、ファイルが 1 つ増えます。1.5.0 からは、いったん一時ファイルに書いてから置き換えるので、途中で止まっても書きかけのファイルは残りません。フォルダーに書き込めないときは、タブが止まらずに、フォームに赤でそう出ます。 -
Console で
overrides reloadと打つか、ゲームを再起動すると、Mod として動きます。Mods 画面に並び、ほかの Mod と同じくそこでオフにできます。
場所ごとに 1 行、いま持っている値で書き、ゲームの値に戻っている場所は書きません。オーバーライドにできない編集は、理由をつけて外します。外れるのは、リストの要素、メッシュの頂点、Animator のパラメーターとクリップの差し替え、GameObject の行です。
キーは、入力欄にカーソルがないときに使えます。1.5.0 からは ? でキーの一覧のパネルが開き、もう一度 ? か Esc で閉じます(Esc は入力欄にカーソルがあっても効きます)。
そのうち 11 個は、1.5.0 から設定で変えられます。変えるまでは、今までどおりのキーです。
| 操作 |
[Keys] の設定 |
初期設定 |
|---|---|---|
| 移動ギズモのオン・オフ |
GizmoMove(Gizmo move) |
W |
| 回転ギズモのオン・オフ |
GizmoRotate(Gizmo rotate) |
E |
| 拡大縮小ギズモのオン・オフ |
GizmoScale(Gizmo scale) |
R |
| ギズモを消す |
GizmoOff(Gizmo off) |
Q |
| ゲーム内のオブジェクトをピック(もう一度押すと止まる) |
Pick(Pick) |
P |
| 選択のハイライト |
Highlight(Highlight) |
H |
| Scene のツリー、Objects の一覧 |
Tree(Tree) |
T |
| フリーカメラ |
FreeCamera(Free camera) |
C |
| ボーン |
Bones(Bones) |
B |
| ワイヤーフレーム |
Wireframe(Wireframe) |
N |
| メッシュ編集(実験的) |
EditMesh(Edit mesh) |
M |
括弧の中は、Mods 画面での設定の名前です。設定は Inspector の設定ファイル BepInEx/config/com.tomxv.dragnwash.modframework.inspector.cfg に入ります。
変えられないキーもあります。一覧を動かす矢印キー、Home、End、Page Up、Page Down、最後の編集を戻す Ctrl+Z、親を選ぶ Ctrl+↑、メニューやピック、ギズモを閉じる Esc、それに ? です。フリーカメラで飛んでいる間の W A S D、Q E、Shift も変えられません。
- F1 の窓で Inspector タブの ? パネルを開き、キーをクリックします。「Press a key…」と出たら、次に押したキーが新しいキーになります。Ctrl、Shift、Alt を押したままなら、それも一緒に入ります。Esc なら何も変えずにやめ、Backspace ならその操作のキーを外します(「none」と出ます)。変えられないキーを押しても使われず、お知らせでそう出ます。パネルの下の Reset all keys で、11 個とも初期設定に戻ります。
- 同じ設定は Mods 画面にもあります。Options → Mods を開き、Libraries の中の Inspector (experimental)(正式な名前は Drag'n Wash ModFramework: Inspector)の Settings タブにある Keys です。各キーの Change ボタンを押すと、同じようにキーを待ちます。どちらも同じ設定なので、片方で変えるともう片方にも出ます。
- ほかの設定と同じキーになったとき(ほかの Mod でも、Inspector の中でも)は、パネルのそのキーに黄色の帯が付き、Mods 画面と同じ「C is also used by Screenshot key (Photo Mode). Both will answer it.」のような行が下に出ます。比べるのはキーそのものだけで、Ctrl、Shift、Alt は見ません。1 つのキーを 2 つに使うこともでき、そのときは両方が動きます(自分の窓でキーを変えられる Mod も同じ行を出せます。中核 API の
ModFramework.SharedKeyNoteを見てください)。 - Ctrl、Shift、Alt なしで設定したキーは、今までどおり Shift や Alt を押したままでも動きます。ただ、ちょうどその組み合わせを設定したキーがほかにあれば、そちらだけが動きます。Ctrl を押したままでは動きません。
- メニュー、Tree と Pick のツールチップ、フリーカメラのお知らせには、設定したキーが出ます。キーがないときは出ません。
- Export の Name、Author、Description の欄や、Clips と Rigidbodies の絞り込み欄に打っている間は、これらのキーは反応しません。
左の欄の一覧(ツリー、検索結果、Objects のエクスプローラー)もキーでたどれます。ここは実験的な機能です。↑ ↓ で 1 行、Page up / Page down で 1 画面、Home / End で先頭と末尾、→ でフォルダーや子を持つノードを開き(すでに開いていれば中へ)、← で閉じます。閉じるものがない行では、その行が入っているフォルダーへ上がります。オブジェクトに移るとそれが選ばれ、一覧はその行が見えるのに必要な分だけスクロールします。Steam Deck やゲームパッドでは、十字キーがこのキーの代わりになり、スティックでスクロールできます。
- 開発者ツールの中だけの機能です。窓のほかの部分と同じく、そのスイッチがオンの間だけタブがあります。
- 編集は残りません。起動時に何かを再生することもなく(書き出したときは別です)、編集で起きる最悪のことは動いているセッションが壊れることで、それも再起動で直ります。1.5.0 から Inspector が設定ファイルに残すのは、キーの設定と、タブをどう閉じたか(表示、欄、開いていた Objects のフォルダー)だけです。
- アップロードもしません。値を読み書きしても、テクスチャを作ったり送ったりはしないので、ここでは Direct3D 12 の心配はありません。オブジェクトの名前は窓の守りを通して描くので、Direct3D 12 では Console と同じく、ASCII 以外が
?で出ます。 - Unity が破棄したオブジェクトやコンポーネントを選んでいたときは、エラーにせず、注記をつけて選択を外します。
- エラーはその行に出ます。リフレクションの失敗、setter の例外、シェーダーへの問い合わせの失敗は、どれもその行に出します。
-
inspectでルートの一覧が出ます。inspect <名前かパス> [コンポーネント]で選んでタブを開きます(パスの区切りは/で、パスでなければ名前で最初に合ったもの)。inspect set <パス> <コンポーネント> <メンバー> <値>は、行と同じ解釈で値を 1 つ入れます。ほかにinspect pickもあります。補完では、オブジェクト名と、パスのあとにはそのコンポーネント名が出ます。 -
bodiesで、シーンの Rigidbody を速い順に、速さ・質量・種類・スリープと一緒に並べます。bodies pause、bodies resume、bodies step [回数]で物理の一時停止を操作します(実験的な機能です)。 -
objectsで読み込まれているものを種類別に、objects <種類> [絞り込み]でその種類だけを出します。objects usedby <種類> <名前>でどこで使われているかを調べ、inspect object <種類> <名前>で Objects の表示でそれを選びます(実験的な機能です)。 - 読み取りの操作もあります(実験的な機能です)。Console の
opと Bridge から、inspector.objects.find、inspector.objects.children、inspector.components.list、inspector.member.get(コンポーネントのメンバーを行と同じ形で。非公開のものは求めたときだけ)、inspector.selection.getが使えます。オブジェクトエクスプローラーのinspector.loaded.kinds、inspector.loaded.list、inspector.loaded.usedbyも同じように使えます。 -
Inspector.Inspect(UnityEngine.Object target)で、オブジェクト・コンポーネント・マテリアルを選んでタブを開けるので、Mod 自身のタブで、一覧の横に Inspect ボタンを置けます。Assets タブのテクスチャの Inspect ボタンがこれを使っています(テクスチャそのものを Objects の表示で開くので、Used by でそれを使うマテリアルやスプライトが分かります)。 - 宣言は要りません。Mod 自身のものも含めて、すべてのオブジェクトとコンポーネントが出ます。Unity の
[HideInInspector]属性が付いたフィールドは隠すので、隠したいフィールドがある Mod はそれを使ってください。 - Inspector が Tool window から使っているものは公開 API で、
ToolWindow.AddOverlay(窓が開いている間、ゲーム画面に描く)、BlockGameInput、Drawableです。
Players
Mod authors
- Getting started
- Playing well with others (the guide)
- Going online
- Installer
- Mod reload
- Overrides (no code)
- Graphs (no code, makes things happen)
Tools (F1, developer tools)
- Inspector
- Console
- Code graph
- Bridge (AI clients, MCP)
API
日本語
- ホーム
- プレイヤー向け · ランチャー · FAQ · クラッシュレポート
- はじめての Mod · ほかの Mod と一緒に動かす · 外と通信する Mod · インストーラー · Mod の再読み込み · Overrides · Graphs
- Inspector · Console · コードのグラフ · Bridge
- 中核 API · 操作の登録簿 · Text · Dialogue · Tool window · Assets · Flags and saves · GameEvents · SettingMeta
Links
- Repository
- Releases
- Changelog
- Design records: DESIGN · ROADMAP · CONTENT_POLICY