void CheckValid() { if (string.IsNullOrEmpty(avatarName)) { Debug.LogErrorFormat("AliceMotion: {0} , not set avatarName; avatarName should be same as actor name in trance", gameObject.name); } //bool isHumanRigAvatar = false; //if (animator != null && animator.avatar != null) //{ // isHumanRigAvatar = animator.avatar.isHuman; // Debug.LogWarningFormat("{0} has animator component, it's a humenrig avatar , ignore auto bind", gameObject.name); //} //// bind transform by name //if (!isHumanRigAvatar) { usingHumanRig = false; int bindCount = AliceMotionBindHelper.Bind(transform, transforms, prefix); if (bindCount != (int)InertialBones.NumOfBones) { Debug.LogErrorFormat("some of alice motion bone can't find, wanted:{0}, found:{1}", (int)InertialBones.NumOfBones, bindCount); } else { Debug.LogFormat("{0} bind avatar success!", gameObject.name); } } }
public bool Bind(Transform root, string prefix) { this.root = root; this.prefix = prefix; int bound_count = AliceMotionBindHelper.Bind(transform, transforms, prefix); boundTransforms = bound_count >= (int)InertialBones.NumOfBones; UpdateOffset(); return(boundTransforms); }