bdunderscore / modular-avatar

Other
440 stars 53 forks source link

ReplaceObjectが非アクティブである場合ビルドに失敗する #666

Open Narazaka opened 4 months ago

Narazaka commented 4 months ago

Replace Objectを含むオブジェクトをSafetyでも正しく見えるようにデフォルト非アクティブにしたらエラりました。 ターゲットかソースかどちらが原因かは切り分けていません これがエラると他の正常に動いていた無関係のもの(VirtualLens2など)のAnimator結合もエラったので、なんかパス解決が壊れている雰囲気があります? 1.8.4です

image

ArgumentNullException: Value cannot be null.
Parameter name: relativePath
nadena.dev.modular_avatar.animation.PathMappings.ApplyMappingsToClip (UnityEngine.AnimationClip originalClip, System.Collections.Generic.Dictionary`2[TKey,TValue] clipCache) (at Packages/nadena.dev.modular-avatar/Editor/Animation/PathMappings.cs:251)
nadena.dev.modular_avatar.animation.PathMappings+<>c__DisplayClass15_0.<OnDeactivate>b__0 (nadena.dev.modular_avatar.animation.AnimationDatabase+ClipHolder holder) (at Packages/nadena.dev.modular-avatar/Editor/Animation/PathMappings.cs:285)
nadena.dev.modular_avatar.animation.AnimationDatabase.ForeachClip (System.Action`1[T] processClip) (at Packages/nadena.dev.modular-avatar/Editor/Animation/AnimationDatabase.cs:183)
nadena.dev.modular_avatar.animation.PathMappings.OnDeactivate (nadena.dev.ndmf.BuildContext context) (at Packages/nadena.dev.modular-avatar/Editor/Animation/PathMappings.cs:281)
nadena.dev.modular_avatar.animation.AnimationServicesContext.OnDeactivate (nadena.dev.ndmf.BuildContext context) (at Packages/nadena.dev.modular-avatar/Editor/Animation/AnimationServicesContext.cs:34)
nadena.dev.ndmf.BuildContext.DeactivateExtensionContext (System.Type t) (at Packages/nadena.dev.ndmf/Editor/API/BuildContext.cs:282)
UnityEngine.Debug:LogException(Exception)
nadena.dev.ndmf.ErrorReport:ReportError(IError) (at Packages/nadena.dev.ndmf/Editor/ErrorReporting/ErrorReport.cs:161)
nadena.dev.ndmf.ErrorReport:ReportException(Exception, String) (at Packages/nadena.dev.ndmf/Editor/ErrorReporting/ErrorReport.cs:207)
nadena.dev.ndmf.BuildContext:DeactivateExtensionContext(Type) (at Packages/nadena.dev.ndmf/Editor/API/BuildContext.cs:294)
nadena.dev.ndmf.BuildContext:RunPass(ConcretePass) (at Packages/nadena.dev.ndmf/Editor/API/BuildContext.cs:312)
nadena.dev.ndmf.AvatarProcessor:ProcessAvatar(BuildContext, BuildPhase, BuildPhase) (at Packages/nadena.dev.ndmf/Editor/AvatarProcessor.cs:198)
nadena.dev.ndmf.VRChat.BuildFrameworkPreprocessHook:OnPreprocessAvatar(GameObject) (at Packages/nadena.dev.ndmf/Editor/VRChat/BuildFrameworkPreprocessHook.cs:43)
VRC.SDKBase.Editor.BuildPipeline.VRCBuildPipelineCallbacks:OnPreprocessAvatar(GameObject)
nadena.dev.ndmf.ApplyOnPlay:MaybeProcessAvatar(OnDemandSource, MonoBehaviour) (at Packages/nadena.dev.ndmf/Editor/ApplyOnPlay.cs:84)
nadena.dev.ndmf.runtime.AvatarActivator:Awake() (at Packages/nadena.dev.ndmf/Runtime/ApplyOnPlayGlobalActivator.cs:176)
UnityEngine.GameObject:AddComponent()
nadena.dev.ndmf.runtime.RuntimeUtil:GetOrAddComponent(GameObject) (at Packages/nadena.dev.ndmf/Runtime/RuntimeUtil.cs:33)
nadena.dev.ndmf.runtime.ApplyOnPlayGlobalActivator:Awake() (at Packages/nadena.dev.ndmf/Runtime/ApplyOnPlayGlobalActivator.cs:115)

image

Narazaka commented 4 months ago

ソース・ターゲットともにMerge Animator/Bone Proxy配下にある状態でした

Narazaka commented 4 months ago

Bone Proxyの付いたものまたはその子をターゲットにし、Replace Objectの付いたオブジェクトをinactiveにするとエラーになります。 最小の再現アセットです

ReplaceError.zip