public void blend(AnimationManipulatorStateEntry target, float percent) { PoseManipulatorStateEntry poseTarget = target as PoseManipulatorStateEntry; float start = position; float end = poseTarget.position; float delta = end - start; PoseManipulator bone = AnimationManipulatorController.getManipulator(name) as PoseManipulator; if (bone != null) { bone.Position = start + delta * percent; } }
protected override void link() { Vector3 endpointBoneWorld = controlPoint.MandibleBonePosition + controlPoint.MandibleTranslation; endpointOffset = this.Owner.Translation - endpointBoneWorld; medialPole.initialize(controlPoint, Owner); lateralPole.initialize(controlPoint, Owner); ventralPole.initialize(controlPoint, Owner); discRotation = Owner.getElement("DiscRotator") as PoseManipulator; if (discRotation != null) { discRotation.Position = lateralPoleRotation; } }