esperecyan / VRMConverterForVRChat

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

VRM0 --> Export VRM file from VRChat avator #31

Closed 5ee1e closed 2 years ago

5ee1e commented 2 years ago
Unity Editor: 2019.4.31f1
VRChat SDK: 2021.11.24.16.20
VRM Converter for VRChat: 31.0.0
UniVRM: 0.94.0

System.ArgumentException: Type cannot be null.
  at (wrapper managed-to-native) UnityEngine.GameObject.GetComponentsInternal(UnityEngine.GameObject,System.Type,bool,bool,bool,bool,object)
  at UnityEngine.GameObject.GetComponentsInChildren (System.Type type, System.Boolean includeInactive) [0x00001] in <7d87237cea3743d093e22c5b98f74fba>:0 
  at UnityEngine.GameObject.GetComponentsInChildren (System.Type type) [0x00003] in <7d87237cea3743d093e22c5b98f74fba>:0 
  at Esperecyan.UniVRMExtensions.SwayingObjects.DynamicBonesToVRMSpringBonesConverter.SetSpringBoneColliderGroups (Esperecyan.UniVRMExtensions.SwayingObjects.Converter converter) [0x0000f] in D:\Unity\Vketchan_VRM\Library\PackageCache\jp.pokemori.univrm-extensions@2.8.0\SwayingObjects\DynamicBonesToVRMSpringBonesConverter.cs:107 
  at Esperecyan.UniVRMExtensions.SwayingObjects.DynamicBonesToVRMSpringBonesConverter.Convert (UnityEngine.Animator source, UnityEngine.Animator destination, Esperecyan.UniVRMExtensions.SwayingObjects.OverwriteMode overwriteMode, System.Boolean ignoreColliders, Esperecyan.UniVRMExtensions.SwayingObjects.DynamicBonesToVRMSpringBonesConverter+ParametersConverter parametersConverter) [0x000a4] in D:\Unity\Vketchan_VRM\Library\PackageCache\jp.pokemori.univrm-extensions@2.8.0\SwayingObjects\DynamicBonesToVRMSpringBonesConverter.cs:92 
  at Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.VRChatToVRMConverter.Convert (System.String outputPath, UnityEngine.GameObject instance, VRM.VRMMetaObject meta, System.Collections.Generic.IDictionary`2[TKey,TValue] presetVRChatBindingPairs) [0x001f9] in D:\Unity\Vketchan_VRM\Library\PackageCache\jp.pokemori.vrm-converter-for-vrchat@31.0.0\Editor\VRChatToVRM\VRChatToVRMConverter.cs:158 
  at Esperecyan.Unity.VRMConverterForVRChat.UI.VRChatToVRMWizard.OnWizardCreate () [0x001c4] in D:\Unity\Vketchan_VRM\Library\PackageCache\jp.pokemori.vrm-converter-for-vrchat@31.0.0\Editor\UI\VRChatToVRMWizard.cs:262 
  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 <eae584ce26bc40229c1b1aa476bfa589>:0 
  at (wrapper managed-to-native) UnityEngine.GameObject.GetComponentsInternal(UnityEngine.GameObject,System.Type,bool,bool,bool,bool,object)
  at UnityEngine.GameObject.GetComponentsInChildren (System.Type type, System.Boolean includeInactive) [0x00001] in <7d87237cea3743d093e22c5b98f74fba>:0 
  at UnityEngine.GameObject.GetComponentsInChildren (System.Type type) [0x00003] in <7d87237cea3743d093e22c5b98f74fba>:0 
  at Esperecyan.UniVRMExtensions.SwayingObjects.DynamicBonesToVRMSpringBonesConverter.SetSpringBoneColliderGroups (Esperecyan.UniVRMExtensions.SwayingObjects.Converter converter) [0x0000f] in D:\Unity\Vketchan_VRM\Library\PackageCache\jp.pokemori.univrm-extensions@2.8.0\SwayingObjects\DynamicBonesToVRMSpringBonesConverter.cs:107 
  at Esperecyan.UniVRMExtensions.SwayingObjects.DynamicBonesToVRMSpringBonesConverter.Convert (UnityEngine.Animator source, UnityEngine.Animator destination, Esperecyan.UniVRMExtensions.SwayingObjects.OverwriteMode overwriteMode, System.Boolean ignoreColliders, Esperecyan.UniVRMExtensions.SwayingObjects.DynamicBonesToVRMSpringBonesConverter+ParametersConverter parametersConverter) [0x000a4] in D:\Unity\Vketchan_VRM\Library\PackageCache\jp.pokemori.univrm-extensions@2.8.0\SwayingObjects\DynamicBonesToVRMSpringBonesConverter.cs:92 
  at Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.VRChatToVRMConverter.Convert (System.String outputPath, UnityEngine.GameObject instance, VRM.VRMMetaObject meta, System.Collections.Generic.IDictionary`2[TKey,TValue] presetVRChatBindingPairs) [0x001f9] in D:\Unity\Vketchan_VRM\Library\PackageCache\jp.pokemori.vrm-converter-for-vrchat@31.0.0\Editor\VRChatToVRM\VRChatToVRMConverter.cs:158 
  at Esperecyan.Unity.VRMConverterForVRChat.UI.VRChatToVRMWizard.OnWizardCreate () [0x001c4] in D:\Unity\Vketchan_VRM\Library\PackageCache\jp.pokemori.vrm-converter-for-vrchat@31.0.0\Editor\UI\VRChatToVRMWizard.cs:262 
  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 <eae584ce26bc40229c1b1aa476bfa589>:0 

使用モデル VケットちゃんPlus(1.32)

参考サイト https://vrsanpo.com/vrchat-vrm-convert/

環境を1から作り直したうえで作業をしましたが、エラーは変わらず発生します シェーダーはMToonに変更済みです

esperecyan commented 2 years ago

ご報告ありがとうございます。DynamicBoneをインポートしていない状態でDynamicBoneコンポーネントを含むモデルをVRM化しようとすると問題が再現しました。

esperecyan commented 2 years ago

v31.0.1で修正しました。