private Vector3 beizerPointPositionFromVideoKeyframeOfBeizerCurves(keyframeRefs k) { Vector3 animObjTransformPos; float x = curveXbeizer.keys[k.keyframeXindex].value; float y = curveYbeizer.keys[k.keyframeYindex].value; float z = curveZbeizer.keys[k.keyframeZindex].value; animObjTransformPos = new Vector3(x, y, z); return(animObjTransformPos); }
public void addIntermediateKeyframes(Vector3[] intermediatePositions, float t1, float t2, out keyframeRefs[] intermediateKeyframeRefs) { float dt = (t2 - t1) / 10; float currTime = t1 + dt; int i = 0; Debug.Log("This is dt " + dt); intermediateKeyframeRefs = new keyframeRefs[intermediatePositions.Length]; foreach (Vector3 intermediatePoint in intermediatePositions) { Debug.Log("this is currTime" + currTime); Keyframe pointX = new Keyframe(currTime, intermediatePoint.x); Keyframe pointY = new Keyframe(currTime, intermediatePoint.y); Keyframe pointZ = new Keyframe(currTime, intermediatePoint.z); addKeyFrameToBeizerCurve(pointX, AnimationCurveToUpdate.x); addKeyFrameToBeizerCurve(pointY, AnimationCurveToUpdate.y); addKeyFrameToBeizerCurve(pointZ, AnimationCurveToUpdate.z); int keyFrameXindex = retrieveKeyframeIndexFromBeizerAnimationCurves(currTime, AnimationCurveToUpdate.x); int keyFrameYindex = retrieveKeyframeIndexFromBeizerAnimationCurves(currTime, AnimationCurveToUpdate.y); int keyFrameZindex = retrieveKeyframeIndexFromBeizerAnimationCurves(currTime, AnimationCurveToUpdate.z); keyframeRefs k = new keyframeRefs(); k.keyframeXindex = keyFrameXindex; k.keyframeYindex = keyFrameYindex; k.keyframeZindex = keyFrameZindex; k.keyframeTime = currTime; intermediateKeyframeRefs[i] = k; i += 1; currTime += dt; } }