esperecyan / VRMConverterForVRChat

https://pokemori.booth.pm/items/1025226
Mozilla Public License 2.0
184 stars 22 forks source link

DynamicBoneReplacer.csでエラーが出てVRCアバターからVRMに変換できない #13

Closed misumisumi closed 3 years ago

misumisumi commented 3 years ago

生じている問題

DynamicBoneReplacer.cs関連でエラーが出ているようでVRMモデルに変換できない

期待する動作

VRChatアバターからVRMモデルへの正常な変換

再現手順

環境

追記

エラーログ

Unity Editor: 2018.4.20f1
VRChat SDK: 2021.06.03.14.57
VRM Converter for VRChat: 26.0.0
UniVRM: 0.70.0

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: Cannot perform runtime binding on a null reference
  at (wrapper dynamic-method) System.Object.CallSite.Target(System.Runtime.CompilerServices.Closure,System.Runtime.CompilerServices.CallSite,object)
  at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet] (System.Runtime.CompilerServices.CallSite site, T0 arg0) [0x00035] in <fbb5ed17eb6e46c680000f8910ebb50c>:0 
  at (wrapper dynamic-method) System.Object.CallSite.Target(System.Runtime.CompilerServices.Closure,System.Runtime.CompilerServices.CallSite,object)
  at Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.DynamicBoneReplacer+<>c__DisplayClass4_0.<SetSpringBones>b__0 (System.Object dynamicBone) [0x00659] in /Users/sumi/Amanatsu_new/Assets/VRMConverterForVRChat/Editor/VRChatToVRM/DynamicBoneReplacer.cs:134 
  at (wrapper delegate-invoke) System.Func`2[System.Object,System.ValueTuple`4[System.Object,Esperecyan.Unity.VRMConverterForVRChat.SpringBoneParameters,System.Collections.Generic.List`1[VRM.VRMSpringBoneColliderGroup],System.String]].invoke_TResult_T(object)
  at System.Linq.Enumerable+SelectArrayIterator`2[TSource,TResult].MoveNext () [0x0003a] in <fbb5ed17eb6e46c680000f8910ebb50c>:0 
  at System.Linq.Lookup`2[TKey,TElement].Create (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] keySelector, System.Collections.Generic.IEqualityComparer`1[T] comparer) [0x0002b] in <fbb5ed17eb6e46c680000f8910ebb50c>:0 
  at System.Linq.GroupedEnumerable`2[TSource,TKey].GetEnumerator () [0x00000] in <fbb5ed17eb6e46c680000f8910ebb50c>:0 
  at Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.DynamicBoneReplacer.SetSpringBones (UnityEngine.GameObject instance, Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.DynamicBoneReplacer+ParametersConverter swayingParametersConverter) [0x00053] in /Users/sumi/Amanatsu_new/Assets/VRMConverterForVRChat/Editor/VRChatToVRM/DynamicBoneReplacer.cs:114 
  at Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.DynamicBoneReplacer.SetSpringBonesAndColliders (UnityEngine.GameObject instance, Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.DynamicBoneReplacer+ParametersConverter swayingParametersConverter) [0x00018] in /Users/sumi/Amanatsu_new/Assets/VRMConverterForVRChat/Editor/VRChatToVRM/DynamicBoneReplacer.cs:36 
  at Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.VRChatToVRMConverter.Convert (System.String outputPath, UnityEngine.GameObject instance, VRM.VRMMetaObject meta, System.Collections.Generic.IDictionary`2[TKey,TValue] presetVRChatBindingPairs, Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.DynamicBoneReplacer+ParametersConverter swayingParametersConverter) [0x001e2] in /Users/sumi/Amanatsu_new/Assets/VRMConverterForVRChat/Editor/VRChatToVRM/VRChatToVRMConverter.cs:163 
  at Esperecyan.Unity.VRMConverterForVRChat.UI.VRChatToVRMWizard.OnWizardCreate () [0x001c4] in /Users/sumi/Amanatsu_new/Assets/VRMConverterForVRChat/Editor/UI/VRChatToVRMWizard.cs:247 
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in <e1319b7195c343e79b385cd3aa43f5dc>:0 
  at (wrapper dynamic-method) System.Object.CallSite.Target(System.Runtime.CompilerServices.Closure,System.Runtime.CompilerServices.CallSite,object)
  at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet] (System.Runtime.CompilerServices.CallSite site, T0 arg0) [0x00035] in <fbb5ed17eb6e46c680000f8910ebb50c>:0 
  at (wrapper dynamic-method) System.Object.CallSite.Target(System.Runtime.CompilerServices.Closure,System.Runtime.CompilerServices.CallSite,object)
  at Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.DynamicBoneReplacer+<>c__DisplayClass4_0.<SetSpringBones>b__0 (System.Object dynamicBone) [0x00659] in /Users/sumi/Amanatsu_new/Assets/VRMConverterForVRChat/Editor/VRChatToVRM/DynamicBoneReplacer.cs:134 
  at (wrapper delegate-invoke) System.Func`2[System.Object,System.ValueTuple`4[System.Object,Esperecyan.Unity.VRMConverterForVRChat.SpringBoneParameters,System.Collections.Generic.List`1[VRM.VRMSpringBoneColliderGroup],System.String]].invoke_TResult_T(object)
  at System.Linq.Enumerable+SelectArrayIterator`2[TSource,TResult].MoveNext () [0x0003a] in <fbb5ed17eb6e46c680000f8910ebb50c>:0 
  at System.Linq.Lookup`2[TKey,TElement].Create (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] keySelector, System.Collections.Generic.IEqualityComparer`1[T] comparer) [0x0002b] in <fbb5ed17eb6e46c680000f8910ebb50c>:0 
  at System.Linq.GroupedEnumerable`2[TSource,TKey].GetEnumerator () [0x00000] in <fbb5ed17eb6e46c680000f8910ebb50c>:0 
  at Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.DynamicBoneReplacer.SetSpringBones (UnityEngine.GameObject instance, Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.DynamicBoneReplacer+ParametersConverter swayingParametersConverter) [0x00053] in /Users/sumi/Amanatsu_new/Assets/VRMConverterForVRChat/Editor/VRChatToVRM/DynamicBoneReplacer.cs:114 
  at Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.DynamicBoneReplacer.SetSpringBonesAndColliders (UnityEngine.GameObject instance, Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.DynamicBoneReplacer+ParametersConverter swayingParametersConverter) [0x00018] in /Users/sumi/Amanatsu_new/Assets/VRMConverterForVRChat/Editor/VRChatToVRM/DynamicBoneReplacer.cs:36 
  at Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.VRChatToVRMConverter.Convert (System.String outputPath, UnityEngine.GameObject instance, VRM.VRMMetaObject meta, System.Collections.Generic.IDictionary`2[TKey,TValue] presetVRChatBindingPairs, Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.DynamicBoneReplacer+ParametersConverter swayingParametersConverter) [0x001e2] in /Users/sumi/Amanatsu_new/Assets/VRMConverterForVRChat/Editor/VRChatToVRM/VRChatToVRMConverter.cs:163 
  at Esperecyan.Unity.VRMConverterForVRChat.UI.VRChatToVRMWizard.OnWizardCreate () [0x001c4] in /Users/sumi/Amanatsu_new/Assets/VRMConverterForVRChat/Editor/UI/VRChatToVRMWizard.cs:247 
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in <e1319b7195c343e79b385cd3aa43f5dc>:0 
esperecyan commented 3 years ago

ご報告いただき有り難うございます。 Pull Requestで対応していただいたものを、v26.1.0としてリリースしました。よろしくお願いします。 https://pokemori.booth.pm/items/1025226