public static void DrawColorKeyframes(Crazyflie drone, List <Waypoint> waypoints) { List <ColorKeyframe> colorKeyframes = drone.ColorKeyframes; Vector3 dronePosition = drone.transform.position; for (int i = 0; i < colorKeyframes.Count; i++) { ColorKeyframe keyframe = colorKeyframes[i]; keyframe.Position = KeyframeUtil.GetPosition(waypoints, keyframe.time, dronePosition); keyframe.Tangent = KeyframeUtil.GetTangent(waypoints, keyframe.time, true, true); keyframe.Offset = GetOffset(i, colorKeyframes); DrawSelector(keyframe); } }
public static void DrawTangent(List <Waypoint> waypoints, float scale = 1.0f, double time = -1.0) { time = (time < 0) ? TimelineUtilities.Director.time : time; Vector3 position = KeyframeUtil.GetPosition(waypoints, time, Vector3.zero); Vector3 tangentVector = KeyframeUtil.GetTangent(waypoints, time, true, true); Color previousColor = Handles.color; Handles.color = Color.red; float multiplier = (scale / 2.0f); Vector3 halfTangent = multiplier * tangentVector; Handles.DrawLine(position - halfTangent, position + halfTangent); Handles.color = previousColor; }
public void UpdateView() { previousColor = LightColor; transform.position = KeyframeUtil.GetPosition(Waypoints, Time, transform.position); LightColor = KeyframeUtil.GetColor(ColorKeyframes, Time, LightColor); }