public override void ControlledAwake() { this.solver = new IKCCD3D(); this.solver.damping = this.damping; this.solver.dampingMax = this.dampingMax; // We have to make sure to convert the input transforms to the // corresponding transforms on the shadow, or else you'll see // strange artifacts for (int i = 0; i < bones.Length; i++) { bones[i].transform = this.shadow.FindInShadow(bones[i].transform); } // If the end effector isn't given, we assume it's the last bone if (this.endEffector != null) { this.endEffector = this.shadow.FindInShadow(this.endEffector); } else { this.endEffector = this.bones[this.bones.Length - 1].transform; } }
public override void ControlledAwake() { this.solver = new IKCCD3D(); this.solver.damping = this.damping; this.solver.dampingMax = this.dampingMax; // We have to make sure to convert the input transforms to the // corresponding transforms on the shadow, or else you'll see // strange artifacts for (int i = 0; i < bones.Length; i++) bones[i].transform = this.shadow.FindInShadow(bones[i].transform); // If the end effector isn't given, we assume it's the last bone if (this.endEffector != null) this.endEffector = this.shadow.FindInShadow(this.endEffector); else this.endEffector = this.bones[this.bones.Length - 1].transform; }