ndmf
ndmf copied to clipboard
AAOのようなAnimator/Animation Parserの実装を要望します。(ref: https://github.com/anatawa12/AvatarOptimizer/tree/6ea0de56be9f19d8372b8e58c499760ed6c02f14/Editor/AnimatorParserV2) アニメーションに関する変更を行うために、各NDMFツール作者は、各々でAnimator/Animationのパース処理を行っています。 これはあまり効率がよくないと考えます… そのため、NDMF側でAnimator/Animationを確認し、情報を提供出来るようにするのが良いのではないかと思いました。 また、各pathやツールの処理後に状況が変化する可能性があるため、 - 変更や置き換えに追従(プラグイン側から情報を提供してもらう)する - キャッシュする? - (非NDMFの非破壊ツールを想定して?)持っているキャッシュとメタ情報(ID?)が異なるときに(requestに応じて)再処理出来るようにする? related?: #111
context: https://misskey.niri.la/notes/9yk70jnjnl Modular AvatarやTexTransToolのようなツールではロゴにツール名が含まれていますが、lilycalInventoryのようなツールではそうではありません。 この場合、NDMFコンソールにはアイコンのみが表示され、ツール名は表示されないようです。 これは不便ですし、ロゴに必ずしも名前が含まれるわけではないので、何かしら対処方法があると良いと思います。 (ツール側で名前表示をopt-in出来るようにするとか?) 参考画像 
アバターのルートが Editor Only な物がある際に Play モードに入るとRemove EditorOnly Objectsパスでアバター本体が削除される影響で、Missing Reference Exceptionが発生します。 アバターのルートが Editor Only の場合はプラグインの処理しないなどを行なって欲しいです。 実際のエラー https://gist.github.com/eai04191/57bcd407c20e702099b3aafc22d43a68
こちらの実装ミスや仕様だったらすみません。 [こちらの実装](https://github.com/Tliks/SceneMeshUtils/blob/92918014dbdd11cae585c2ddd3ca39df79403219/Editor/EditModePreview/RemoveMeshFromScenePreview.cs)(多分AAO Remove Meshも同じ)のように、Rendererに直接アタッチしてsharedmeshを編集するコンポーネントを複数のRendererにアタッチした状況において、以下のイベントをトリガーとして、シーン内の同一フィルターを用いた全TargetGroupのInstantiateが走ります。 以下は確認できた動作です。 1. Rendererがついたオブジェクトのactiveの切り替え 2. コンポーネントの追加/削除 シーン内に同一コンポーネントが複数ある場合その全てでInstantiateが呼ばれると負荷が相当あるので、他のTargetGroupのInstantiateは呼ばれないのが正常動作な気がしています。 NDMF: 1.5.0-rc.4
https://github.com/anatawa12/ConsoleLogSaver のような 環境のパッケージのバージョンなど他いろいろなログがあった方がバグの解決に役に立ちます! 今でもスタックトレースの部分が報告されることが多いですが、それでも不足していることは多くもっとたくさんの情報が報告しやすいようにできれば強力だと思います!
``` CSM.OnChange: 2 events UnityEngine.Debug:Log (object) nadena.dev.ndmf.cs.ChangeStreamMonitor:OnChange (UnityEditor.ObjectChangeEventStream&) (at ./Packages/nadena.dev.ndmf/Editor/ChangeStream/ChangeStreamMonitor.cs:26) UnityEditor.ObjectChangeEvents:InvokeChangeEvent (intptr,int,intptr,int) ``` がよく発生します。 フレンドの報告で マシュマロPB に関しては再現が取れてます(もっちりシェーダは手元にないです) マシュマロPBの方を見たら`EditorUtility.SetDirty`が`OnInspectorGUI`で条件無しで呼ばれているので部分的にはそれが原因なので綿飴屋さんの方にも連絡しますが、そういう物もよくあるので可能であれば重くならないようになったほうが嬉しいと思います。
public APIがnullable reference typesを使用してnullになりえるかどうかのアノテーションがあるとドキュメントとしても有効ですし、下流ツールがnullable reference typesを有効している場合に警告が出てくれて嬉しいです