diff --git a/Editor/VRoidAvatar.cs b/Editor/VRoidAvatar.cs index 2446ac8..0460ae2 100644 --- a/Editor/VRoidAvatar.cs +++ b/Editor/VRoidAvatar.cs @@ -178,8 +178,8 @@ public void CopyToTarget(GameObject targetObject) { errors.Add("コピー先アバターにVRCAvatarDescriptorコンポーネントがないためコピーできませんでした。\n VRCAvatarDescriptor配下の項目のチェックを外すか、コピー先アバターにコンポーネントを追加してください"); } - - if(ShouldCopyVRCAvatarDescripter() && sourceAvatarDescriptor != null && targetAvatarDescriptor != null) + + if (ShouldCopyVRCAvatarDescripter() && sourceAvatarDescriptor != null && targetAvatarDescriptor != null) { if (viewPosition) { @@ -372,7 +372,7 @@ public void CopyToTarget(GameObject targetObject) physBones = cloneGameObject.GetComponentsInChildren(); foreach (var phy in physBones) { - if (avatarMode == 0) + if (avatarMode == 0 && phy.rootTransform != null) { if (checkExclutionPhysBoneContain(phy.rootTransform.name)) { @@ -390,7 +390,10 @@ public void CopyToTarget(GameObject targetObject) VRCPhysBone[] p = targetObj.GetComponents(); VRCPhysBone newPhysBone = p[p.Length - 1]; - newPhysBone.rootTransform = targetObject.transform.Find(newPhysBone.rootTransform.gameObject.GetFullPath()).gameObject.transform; + if (phy.rootTransform != null) + { + newPhysBone.rootTransform = targetObject.transform.Find(newPhysBone.rootTransform.gameObject.GetFullPath()).gameObject.transform; + } List new_coliders = new List(); foreach (var tarcol in newPhysBone.colliders)