/// <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); }
/* * 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); }
/* * 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]); } }
/// <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; }