Exemple #1
0
        public SmplContainer(GameObject container, StickContainer stickSkeleton)
        {
            SubContainerObject = container;
            stickContainer     = stickSkeleton;

            GameObject smpl_male = SubContainerObject.transform.Find("SMPL_m_unityDoubleBlends_lbs_10_scale5_207_v1.0.0").gameObject;

            animator = smpl_male.GetComponent <Animator>();
            CharacterRootTransform = smpl_male.transform.Find("m_avg_root");

            absoluteOffsetMap = RiggingUtils.CreateOffsetMap(animator, CharacterRootTransform);
        }
Exemple #2
0
        public void MovePerson(PoseData joint_data_list)
        {
            // Remove mirroring before applying pose and readd it afterwards
            // Necesary because MoveRiggedAvatar function works in global coordinates
            Vector3 prevScale = SubContainerObject.transform.localScale;

            SubContainerObject.transform.localScale = new Vector3(Math.Abs(prevScale.x), prevScale.y, prevScale.z);

            RiggingUtils.MoveRiggedAvatar(animator, absoluteOffsetMap, joint_data_list, CharacterRootTransform, OffsetY, OffsetZ);

            SubContainerObject.transform.localScale = prevScale;
        }
Exemple #3
0
        public RobotContainer(GameObject container, StickContainer stickSkeleton)
        {
            SubContainerObject = container;
            stickContainer     = stickSkeleton;

            GameObject robotKyle = SubContainerObject.transform.Find("Robot Kyle").gameObject;

            CharacterRootTransform = robotKyle.transform;
            animator = robotKyle.GetComponent <Animator>();

            absoluteOffsetMap = RiggingUtils.CreateOffsetMap(animator, CharacterRootTransform);
        }