AAO: Avatar Optimizer: Non Destructive Avatar Optimization Utilities
Play Modeに入る際、以下のエラーが発生することがあります。 ``` InvalidOperationException: EnsureRunningOnMainThread can only be called from the main thread UnityEngine.Object.EnsureRunningOnMainThread () (at <cb81df0c49c643b1a04d9fc6ccca2433>:0) UnityEngine.Object.GetInstanceID () (at <cb81df0c49c643b1a04d9fc6ccca2433>:0) UnityEngine.Object.IsNativeObjectAlive (UnityEngine.Object o) (at <cb81df0c49c643b1a04d9fc6ccca2433>:0) UnityEngine.Object.CompareBaseObjects (UnityEngine.Object lhs, UnityEngine.Object rhs) (at <cb81df0c49c643b1a04d9fc6ccca2433>:0) UnityEngine.Object.op_Equality (UnityEngine.Object x, UnityEngine.Object y) (at <cb81df0c49c643b1a04d9fc6ccca2433>:0) UnityEngine.Object.Equals (System.Object other) (at <cb81df0c49c643b1a04d9fc6ccca2433>:0) System.Collections.Generic.ObjectEqualityComparer`1[T].Equals (T x, T y) (at <27124aa0e30a41659b903b822b959bc7>:0) Anatawa12.AvatarOptimizer.Utils.DistinctSingleOrDefaultIfNoneOrMultiple[T] (System.Collections.Generic.IEnumerable`1[T] enumerable) (at ./Packages/AvatarOptimizer/Internal/Utils/Utils.cs:180) Anatawa12.AvatarOptimizer.Processors.MergeBoneProcessor+<>c__DisplayClass3_0.<DoBoneMap2>b__0 (Anatawa12.AvatarOptimizer.Processors.SkinnedMeshes.Vertex vertex) (at ./Packages/AvatarOptimizer/Editor/Processors/MergeBoneProcessor.cs:189) System.Threading.Tasks.Parallel+<>c__DisplayClass33_0`2[TSource,TLocal].<ForEachWorker>b__0 (System.Int32 i) (at <27124aa0e30a41659b903b822b959bc7>:0) System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) (at <27124aa0e30a41659b903b822b959bc7>:0) --- End of stack trace from previous location where exception was thrown --- System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) (at <27124aa0e30a41659b903b822b959bc7>:0) System.Threading.Tasks.TaskReplicator+Replica`1[TState].ExecuteAction (System.Boolean& yieldedBeforeCompletion) (at <27124aa0e30a41659b903b822b959bc7>:0) System.Threading.Tasks.TaskReplicator+Replica.Execute () (at <27124aa0e30a41659b903b822b959bc7>:0) Rethrow as AggregateException: One or more errors occurred. (EnsureRunningOnMainThread can only be called from the main thread) System.Threading.Tasks.TaskReplicator.Run[TState] (System.Threading.Tasks.TaskReplicator+ReplicatableUserAction`1[TState] action, System.Threading.Tasks.ParallelOptions options, System.Boolean stopOnFirstFailure) (at <27124aa0e30a41659b903b822b959bc7>:0) System.Threading.Tasks.Parallel.ForWorker[TLocal] (System.Int32 fromInclusive, System.Int32 toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action`1[T] body, System.Action`2[T1,T2] bodyWithState, System.Func`4[T1,T2,T3,TResult] bodyWithLocal, System.Func`1[TResult] localInit, System.Action`1[T] localFinally) (at <27124aa0e30a41659b903b822b959bc7>:0) --- End of stack trace from previous location where exception was thrown --- System.Threading.Tasks.Parallel.ThrowSingleCancellationExceptionOrOtherException (System.Collections.ICollection exceptions, System.Threading.CancellationToken cancelToken, System.Exception otherException) (at <27124aa0e30a41659b903b822b959bc7>:0) System.Threading.Tasks.Parallel.ForWorker[TLocal] (System.Int32 fromInclusive, System.Int32 toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action`1[T] body, System.Action`2[T1,T2] bodyWithState, System.Func`4[T1,T2,T3,TResult] bodyWithLocal, System.Func`1[TResult] localInit, System.Action`1[T] localFinally) (at <27124aa0e30a41659b903b822b959bc7>:0) System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal] (System.Collections.Generic.IList`1[T] list, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action`1[T] body, System.Action`2[T1,T2] bodyWithState, System.Action`3[T1,T2,T3] bodyWithStateAndIndex, System.Func`4[T1,T2,T3,TResult] bodyWithStateAndLocal, System.Func`5[T1,T2,T3,T4,TResult] bodyWithEverything, System.Func`1[TResult] localInit, System.Action`1[T] localFinally) (at <27124aa0e30a41659b903b822b959bc7>:0) System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal] (System.Collections.Generic.IEnumerable`1[T] source, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action`1[T] body, System.Action`2[T1,T2] bodyWithState, System.Action`3[T1,T2,T3] bodyWithStateAndIndex, System.Func`4[T1,T2,T3,TResult] bodyWithStateAndLocal, System.Func`5[T1,T2,T3,T4,TResult] bodyWithEverything, System.Func`1[TResult] localInit, System.Action`1[T] localFinally) (at <27124aa0e30a41659b903b822b959bc7>:0) System.Threading.Tasks.Parallel.ForEach[TSource] (System.Collections.Generic.IEnumerable`1[T] source, System.Action`1[T] body) (at <27124aa0e30a41659b903b822b959bc7>:0) Anatawa12.AvatarOptimizer.Processors.MergeBoneProcessor.DoBoneMap2 (Anatawa12.AvatarOptimizer.Processors.SkinnedMeshes.MeshInfo2 meshInfo2, System.Collections.Generic.Dictionary`2[TKey,TValue] mergeMapping) (at ./Packages/AvatarOptimizer/Editor/Processors/MergeBoneProcessor.cs:187) Anatawa12.AvatarOptimizer.Processors.MergeBoneProcessor.Execute (nadena.dev.ndmf.BuildContext context) (at ./Packages/AvatarOptimizer/Editor/Processors/MergeBoneProcessor.cs:87) nadena.dev.ndmf.Pass`1[T].nadena.dev.ndmf.IPass.Execute (nadena.dev.ndmf.BuildContext context) (at ./Packages/ndmf/Editor/API/Fluent/Pass.cs:64) nadena.dev.ndmf.ConcretePass.Execute (nadena.dev.ndmf.BuildContext context) (at ./Packages/ndmf/Editor/API/Solver/PluginResolver.cs:40) nadena.dev.ndmf.BuildContext.RunPass (nadena.dev.ndmf.ConcretePass pass) (at ./Packages/ndmf/Editor/API/BuildContext.cs:325) UnityEngine.Debug:LogException(Exception) nadena.dev.ndmf.ErrorReport:ReportError(IError) (at ./Packages/ndmf/Editor/ErrorReporting/ErrorReport.cs:161) nadena.dev.ndmf.ErrorReport:ReportException(Exception, String) (at ./Packages/ndmf/Editor/ErrorReporting/ErrorReport.cs:207) Anatawa12.AvatarOptimizer.ndmf.OptimizerPlugin:OnUnhandledException(Exception) (at ./Packages/AvatarOptimizer/Editor/OptimizerPlugin.cs:103) nadena.dev.ndmf.Plugin`1:nadena.dev.ndmf.IPluginInternal.OnUnhandledException(Exception) (at ./Packages/ndmf/Editor/API/Fluent/Plugin.cs:91) nadena.dev.ndmf.BuildContext:RunPass(ConcretePass) (at ./Packages/ndmf/Editor/API/BuildContext.cs:329) nadena.dev.ndmf.AvatarProcessor:ProcessAvatar(BuildContext, BuildPhase, BuildPhase) (at ./Packages/ndmf/Editor/AvatarProcessor.cs:199) nadena.dev.ndmf.VRChat.BuildFrameworkOptimizeHook:OnPreprocessAvatar(GameObject) (at ./Packages/ndmf/Editor/VRChat/BuildFrameworkPreprocessHook.cs:83) VRC.SDKBase.Editor.BuildPipeline.VRCBuildPipelineCallbacks:OnPreprocessAvatar(GameObject) Lyuma.Av3Emulator.Editor.<>c:<.cctor>b__6_0(GameObject) (at ./Packages/lyuma.av3emulator/Editor/LyumaAv3EditorSupport.cs:339) Lyuma.Av3Emulator.Runtime.LyumaAv3Emulator:ScanForAvatarsFromSet(HashSet`1) (at ./Packages/lyuma.av3emulator/Runtime/Scripts/LyumaAv3Emulator.cs:267) Lyuma.Av3Emulator.Runtime.LyumaAv3Emulator:ScanForAvatars() (at ./Packages/lyuma.av3emulator/Runtime/Scripts/LyumaAv3Emulator.cs:246) Lyuma.Av3Emulator.Runtime.LyumaAv3Emulator:Start() (at ./Packages/lyuma.av3emulator/Runtime/Scripts/LyumaAv3Emulator.cs:232) ```
This issue appears to be discussing a feature request or bug report related to the repository. Based on the content, it seems to be still under discussion. The issue was opened by Tliks and has received 0 comments.