void GenAnim2() { AnimationCurve[] eachCurves = new AnimationCurve[6]; for (int u = 0; u < eachCurves.Length; u++) { eachCurves[u] = new AnimationCurve(); } for (int i = 0; i < effectShakeCameraInfo.timeLine.length; i++) { Keyframe frame = effectShakeCameraInfo.timeLine[i]; CameraShakerEditor.KeyExInfo keyExinfo; if (i < effectShakeCameraInfo.keyExInfos.Count) { keyExinfo = effectShakeCameraInfo.keyExInfos[i]; var calCurves = CameraShakerUtil.CreateShakeCurve(keyExinfo.shakePosition, keyExinfo.shakeAngle, keyExinfo.cycleTime, keyExinfo.cycleCount, keyExinfo.fixShake); for (int j = 0; j < 6; j++) { float startTime = keyExinfo.keyTime; foreach (var calframe in calCurves[j].keys) { Keyframe newFrame = new Keyframe(startTime + calframe.time, calframe.value); eachCurves[j].AddKey(newFrame); } } } } for (int k = 0; k < eachCurves.Length; k++) { effectShakeCameraInfo.GetType().GetField(s_propertys[k]).SetValue(effectShakeCameraInfo, eachCurves[k]); } }