BuildHumanAvatarFromMap の中で ForceTransformUniqueName.Process しない

This commit is contained in:
ousttrue
2025-04-16 15:49:34 +09:00
parent 823fb087f5
commit 84248730d5
8 changed files with 17 additions and 15 deletions

View File

@@ -103,7 +103,8 @@ namespace UniHumanoid
public Avatar CreateAvatarAndSetup(Transform root)
{
var avatar = HumanoidLoader.BuildHumanAvatarFromMap(root, ToHumanoidMap(root), forceRename: true);
ForceTransformUniqueName.Process(root);
var avatar = HumanoidLoader.BuildHumanAvatarFromMap(root, ToHumanoidMap(root));
avatar.name = name;
if (root.TryGetComponent<Animator>(out var animator))
@@ -269,7 +270,8 @@ namespace UniHumanoid
modAvatarDesc(avatarDescription);
}
avatarDescription.SetHumanBones(map);
var avatar = HumanoidLoader.BuildHumanAvatarFromMap(dst.transform, avatarDescription.ToHumanoidMap(dst.transform), true);
ForceTransformUniqueName.Process(dst.transform);
var avatar = HumanoidLoader.BuildHumanAvatarFromMap(dst.transform, avatarDescription.ToHumanoidMap(dst.transform));
avatar.name = "created";
return avatar;
}

View File

@@ -159,7 +159,8 @@ namespace UniHumanoid
/// <returns></returns>
public Avatar CreateAvatar()
{
return HumanoidLoader.BuildHumanAvatarFromMap(transform, BoneMap, forceRename: true);
ForceTransformUniqueName.Process(transform);
return HumanoidLoader.BuildHumanAvatarFromMap(transform, BoneMap);
}
public Transform GetBoneTransform(HumanBodyBones bone)

View File

@@ -10,13 +10,8 @@ namespace UniHumanoid
public static class HumanoidLoader
{
public static Avatar BuildHumanAvatarFromMap(Transform root, BoneMap boneMap, bool forceRename)
public static Avatar BuildHumanAvatarFromMap(Transform root, BoneMap boneMap)
{
if (forceRename)
{
ForceTransformUniqueName.Process(root);
}
var description = new HumanDescription
{
skeleton = root.GetComponentsInChildren<Transform>()
@@ -74,7 +69,7 @@ namespace UniHumanoid
.Select(x => (animator.GetBoneTransform(x), x))
.Where(x => x.Item1 != null)
;
var newAvatar = HumanoidLoader.BuildHumanAvatarFromMap(animator.transform, map, false);
var newAvatar = BuildHumanAvatarFromMap(animator.transform, map);
newAvatar.name = "re-created";
// var newAvatar = LoadHumanoidAvatarFromAnimator(animator);

View File

@@ -4,6 +4,8 @@ using System.Collections.Generic;
using UnityEngine;
using System.IO;
using System.Text;
using UniGLTF.Utils;
#if UNITY_EDITOR
using UnityEditor;
#endif
@@ -111,7 +113,8 @@ namespace UniHumanoid
//
// avatar
//
Avatar = HumanoidLoader.BuildHumanAvatarFromMap(Root.transform, description.ToHumanoidMap(Root.transform), forceRename: true);
ForceTransformUniqueName.Process(Root.transform);
Avatar = HumanoidLoader.BuildHumanAvatarFromMap(Root.transform, description.ToHumanoidMap(Root.transform));
Avatar.name = "Avatar";
AvatarDescription = description;
var animator = Root.AddComponent<Animator>();

View File

@@ -128,7 +128,8 @@ namespace UniHumanoid
{
throw new System.ArgumentException("no animator");
}
animator.avatar = HumanoidLoader.BuildHumanAvatarFromMap(root, builder.Map(), forceRename: true);
// ForceTransformUniqueName.Process(root);
animator.avatar = HumanoidLoader.BuildHumanAvatarFromMap(root, builder.Map());
// create SkinnedMesh for bone visualize
var renderer = SkeletonMeshUtility.CreateRenderer(animator);

View File

@@ -259,7 +259,7 @@ namespace VRM
{
AvatarDescription = VRM.humanoid.ToDescription(Nodes);
AvatarDescription.name = "AvatarDescription";
HumanoidAvatar = UniHumanoid.HumanoidLoader.BuildHumanAvatarFromMap(Root.transform, AvatarDescription.ToHumanoidMap(Root.transform), forceRename: false);
HumanoidAvatar = UniHumanoid.HumanoidLoader.BuildHumanAvatarFromMap(Root.transform, AvatarDescription.ToHumanoidMap(Root.transform));
if (!HumanoidAvatar.isValid || !HumanoidAvatar.isHuman)
{
throw new Exception("fail to create avatar");

View File

@@ -38,7 +38,7 @@ namespace UniVRM10
_hipBone.ControlBone.SetParent(_controlRigRoot);
var transformBonePairs = _bones.Select(kv => (kv.Value.ControlBone, kv.Key));
_controlRigAvatar = HumanoidLoader.BuildHumanAvatarFromMap(vrmRoot, transformBonePairs, forceRename: false);
_controlRigAvatar = HumanoidLoader.BuildHumanAvatarFromMap(vrmRoot, transformBonePairs);
_controlRigAvatar.name = "Runtime Control Rig";
if (vrmRoot.TryGetComponent<Animator>(out var animator))

View File

@@ -262,7 +262,7 @@ namespace UniVRM10
//
// avatar
//
var avatar = HumanoidLoader.BuildHumanAvatarFromMap(Root.transform, humanMap, forceRename: false);
var avatar = HumanoidLoader.BuildHumanAvatarFromMap(Root.transform, humanMap);
avatar.name = "Avatar";
var animator = Root.AddComponent<Animator>();
animator.avatar = avatar;