void FixedUpdate() { if (Mode == TransformModes.None || Axes == Axes.None) { return; } if ((Mode & TransformModes.Position) != 0) { Vector3 position = CachedTransform.position; position.x = (Axes & Axes.X) != 0 ? Damping.x >= 100 ? Target.position.x + Offset.x : Mathf.Lerp(position.x, Target.position.x + Offset.x, Damping.x * TimeManager.GetFixedDeltaTime(TimeChannel)) : position.x; position.y = (Axes & Axes.Y) != 0 ? Damping.y >= 100 ? Target.position.y + Offset.y : Mathf.Lerp(position.y, Target.position.y + Offset.y, Damping.y * TimeManager.GetFixedDeltaTime(TimeChannel)) : position.y; position.z = (Axes & Axes.Z) != 0 ? Damping.z >= 100 ? Target.position.z + Offset.z : Mathf.Lerp(position.z, Target.position.z + Offset.z, Damping.z * TimeManager.GetFixedDeltaTime(TimeChannel)) : position.z; CachedTransform.position = position; } if ((Mode & TransformModes.Rotation) != 0) { Vector3 eulerAngles = CachedTransform.eulerAngles; eulerAngles.x = (Axes & Axes.X) != 0 ? Damping.x >= 100 ? Target.eulerAngles.x + Offset.x : Mathf.Lerp(eulerAngles.x, Target.eulerAngles.x + Offset.x, Damping.x * TimeManager.GetFixedDeltaTime(TimeChannel)) : eulerAngles.x; eulerAngles.y = (Axes & Axes.Y) != 0 ? Damping.y >= 100 ? Target.eulerAngles.y + Offset.y : Mathf.Lerp(eulerAngles.y, Target.eulerAngles.y + Offset.y, Damping.y * TimeManager.GetFixedDeltaTime(TimeChannel)) : eulerAngles.y; eulerAngles.z = (Axes & Axes.Z) != 0 ? Damping.z >= 100 ? Target.eulerAngles.z + Offset.z : Mathf.Lerp(eulerAngles.z, Target.eulerAngles.z + Offset.z, Damping.z * TimeManager.GetFixedDeltaTime(TimeChannel)) : eulerAngles.z; CachedTransform.eulerAngles = eulerAngles; } if ((Mode & TransformModes.Scale) != 0) { Vector3 scale = CachedTransform.lossyScale; scale.x = (Axes & Axes.X) != 0 ? Damping.x >= 100 ? Target.lossyScale.x + Offset.x : Mathf.Lerp(scale.x, Target.lossyScale.x + Offset.x, Damping.x * TimeManager.GetFixedDeltaTime(TimeChannel)) : scale.x; scale.y = (Axes & Axes.Y) != 0 ? Damping.y >= 100 ? Target.lossyScale.y + Offset.y : Mathf.Lerp(scale.y, Target.lossyScale.y + Offset.y, Damping.y * TimeManager.GetFixedDeltaTime(TimeChannel)) : scale.y; scale.z = (Axes & Axes.Z) != 0 ? Damping.z >= 100 ? Target.lossyScale.z + Offset.z : Mathf.Lerp(scale.z, Target.lossyScale.z + Offset.z, Damping.z * TimeManager.GetFixedDeltaTime(TimeChannel)) : scale.z; CachedTransform.SetScale(scale); } }