Exemple #1
0
        /// <summary>
        /// Reinitiate the solver with new bone Transforms.
        /// </summary>
        /// <returns>
        /// Returns true if the new chain is valid.
        /// </returns>
        public bool SetChain(Transform[] spine, Transform head, Transform[] eyes, Transform root)
        {
            if (this.spine.Length != spine.Length)
            {
                this.spine = new LookAtBone[spine.Length];
            }
            for (int i = 0; i < spine.Length; i++)
            {
                if (this.spine[i] == null)
                {
                    this.spine[i] = new LookAtBone();
                }
                this.spine[i].transform = spine[i];
            }

            this.head           = new LookAtBone();
            this.head.transform = head;

            if (this.eyes.Length != eyes.Length)
            {
                this.eyes = new LookAtBone[eyes.Length];
            }
            for (int i = 0; i < eyes.Length; i++)
            {
                if (this.eyes[i] == null)
                {
                    this.eyes[i] = new LookAtBone();
                }
                this.eyes[i].transform = eyes[i];
            }

            Initiate(root);
            return(initiated);
        }
Exemple #2
0
        /*
         * Build LookAtBone[] array of a Transform array
         * */
        protected void SetBones(Transform[] array, ref LookAtBone[] bones)
        {
            if (array == null)
            {
                bones = new LookAtBone[0];
                return;
            }

            if (bones.Length != array.Length)
            {
                bones = new LookAtBone[array.Length];
            }

            for (int i = 0; i < array.Length; i++)
            {
                if (bones[i] == null)
                {
                    bones[i] = new LookAtBone(array[i]);
                }
                else
                {
                    bones[i].transform = array[i];
                }
            }
        }
        /// <summary>
        /// Reinitiate the solver with new bone Transforms.
        /// </summary>
        /// <returns>
        /// Returns true if the new chain is valid.
        /// </returns>
        public bool SetChain(Transform[] spine, Transform head, Transform[] eyes, Transform root)
        {
            // Spine
            SetBones(spine, ref this.spine);

            // Head
            this.head = new LookAtBone(head);

            // Eyes
            SetBones(eyes, ref this.eyes);

            Initiate(root);
            return(initiated);
        }
Exemple #4
0
        /*
         * Build LookAtBone[] array of a Transform array
         * */
        private void SetBones(Transform[] array, ref LookAtBone[] bones)
        {
            if (array == null) {
                bones = new LookAtBone[0];
                return;
            }

            if (bones.Length != array.Length) bones = new LookAtBone[array.Length];

            for (int i = 0; i < array.Length; i++) {
                if (bones[i] == null) bones[i] = new LookAtBone(array[i]);
            }
        }
Exemple #5
0
        /// <summary>
        /// Reinitiate the solver with new bone Transforms.
        /// </summary>
        /// <returns>
        /// Returns true if the new chain is valid.
        /// </returns>
        public bool SetChain(Transform[] spine, Transform head, Transform[] eyes, Transform root)
        {
            // Spine
            SetBones(spine, ref this.spine);

            // Head
            this.head = new LookAtBone(head);

            // Eyes
            SetBones(eyes, ref this.eyes);

            Initiate(root);
            return initiated;
        }