bdunderscore / modular-avatar

Other
443 stars 53 forks source link

NDMFプラグインが動的生成したMeshSettingsでNullReferenceException #898

Open kaikoga opened 3 weeks ago

kaikoga commented 3 weeks ago

Stack trace

System.NullReferenceException: Object reference not set to an instance of an object
  at nadena.dev.modular_avatar.core.editor.MeshSettingsPass.MergeSettings (UnityEngine.Transform avatarRoot, UnityEngine.Transform referenceObject) [0x00096] in ./modular-avatar/Editor/MeshSettingsPass.cs:84 
  at nadena.dev.modular_avatar.core.editor.MeshSettingsPass.ProcessMesh (UnityEngine.Renderer mesh) [0x00001] in ./modular-avatar/Editor/MeshSettingsPass.cs:97 
  at nadena.dev.modular_avatar.core.editor.MeshSettingsPass.OnPreprocessAvatar () [0x0001d] in ./modular-avatar/Editor/MeshSettingsPass.cs:27 
  at nadena.dev.modular_avatar.core.editor.plugin.MeshSettingsPluginPass.Execute (nadena.dev.ndmf.BuildContext context) [0x00001] in ./modular-avatar/Editor/PluginDefinition/PluginDefinition.cs:183 
  at nadena.dev.ndmf.Pass`1[T].nadena.dev.ndmf.IPass.Execute (nadena.dev.ndmf.BuildContext context) [0x00001] in ./ndmf/Editor/API/Fluent/Pass.cs:64 
  at nadena.dev.ndmf.ConcretePass.Execute (nadena.dev.ndmf.BuildContext context) [0x00001] in ./ndmf/Editor/API/Solver/PluginResolver.cs:36 
  at nadena.dev.ndmf.BuildContext.RunPass (nadena.dev.ndmf.ConcretePass pass) [0x00135] in ./ndmf/Editor/API/BuildContext.cs:350 
  at nadena.dev.modular_avatar.core.editor.MeshSettingsPass.MergeSettings (UnityEngine.Transform avatarRoot, UnityEngine.Transform referenceObject) [0x00096] in ./modular-avatar/Editor/MeshSettingsPass.cs:84 
  at nadena.dev.modular_avatar.core.editor.MeshSettingsPass.ProcessMesh (UnityEngine.Renderer mesh) [0x00001] in ./modular-avatar/Editor/MeshSettingsPass.cs:97 
  at nadena.dev.modular_avatar.core.editor.MeshSettingsPass.OnPreprocessAvatar () [0x0001d] in ./modular-avatar/Editor/MeshSettingsPass.cs:27 
  at nadena.dev.modular_avatar.core.editor.plugin.MeshSettingsPluginPass.Execute (nadena.dev.ndmf.BuildContext context) [0x00001] in ./modular-avatar/Editor/PluginDefinition/PluginDefinition.cs:183 
  at nadena.dev.ndmf.Pass`1[T].nadena.dev.ndmf.IPass.Execute (nadena.dev.ndmf.BuildContext context) [0x00001] in ./ndmf/Editor/API/Fluent/Pass.cs:64 
  at nadena.dev.ndmf.ConcretePass.Execute (nadena.dev.ndmf.BuildContext context) [0x00001] in ./ndmf/Editor/API/Solver/PluginResolver.cs:36 
  at nadena.dev.ndmf.BuildContext.RunPass (nadena.dev.ndmf.ConcretePass pass) [0x00135] in ./ndmf/Editor/API/BuildContext.cs:350 

Workaround

  var meshSettings = modularRoot.gameObject.AddComponent<ModularAvatarMeshSettings>();
  meshSettings.InheritBounds = ModularAvatarMeshSettings.InheritMode.DontSet;
+ meshSettings.RootBone = new AvatarObjectReference();