プレハブの検査機能を追加
- Project Windowのプレハブを選択して、コンテキストメニューから「STYLY/Validate Prefab」を実行
- 検証項目は PrefabValidatorRunner内に記載
- 現時点で検証できる機能は以下の通り - 利用不可能なシェーダーを使用していないか? - 利用不可能なコンポーネントを使用していないか?
- 検査結果はConsoleログに出力
メニューのラベルについて 「Validate Prefab (Alpha)」として置いてもらえますでしょうか?
動作について、Standard shader を使ったマテリアルの obj を含めましたが、検査に引っ掛かりませんでした。動作バグがあるかもです。
パスについて /Packages/com.styly.styly-spatial-layer-plugin がPluginとしての配布パッケージになりますので、Validation機能もこちらに含めていただくようお願いします。
/Assets/Validation/Editor/* ↓ /Packages/com.styly.styly-spatial-layer-plugin/Editor/Validation/* に移動していただけると。
検査結果はConsoleログに出力
結果がConsoleに出力されるだけですと、ユーザーは何が起きたのか気づきにくいので成功/失敗ダイアログで通知するなどした方が良いと思います。
@zabaglione ご対応ありがとうございます。 数点コメントさせていただきました。 ご確認お願いいたします。
動作のチェックをしました。
不具合、修正いただきたい点 ** Prefab 内のコンポーネントがすべてチェックされていなそう ** コードを拝見して、Prefab 内の Child の Child など深くまでチェックされていなそうにみえます。(間違っていたら教えてください)
Warning が出そうな prefab を作っても warning がでない。 具体的にチェックした箇所は
- GoundValidator で Position Y の値が負のオブジェクトを作成したが、Warning がでなかった。
- Camera component がついているコンポーネントを含めたが、Warning がでなかった。
上記の通り深くまでチェックされていないと思ったので、prefab の GameObject 直下のコンポーネントで確認をしています。
Prefab を選択していないときに「Validate Prefab (Alpha)」が選択できないようにしてほしい。 Build Prefab のメニューの設定コードを参照ください
Validator 使用しました (mac)
修正していただきたい点
- ログが埋もれるので、[STYLY Validator] のようなフィルタリングできる文字列を入れる必要があ理想なので追加して欲しい
- 非推奨のコンポーネントが複数の GameObject についているときに一つしか指摘されない
- ユーザーが Camera コンポーネントを使用してシーン内のオブジェクトを撮影、RenderTexture でマテリアルに設定するみたいなケースがそこそこあるみたいです。なので Camera は対象から外してください。