AnimationUtility には 一部の Curve を差し替える処理が無いため
一度 AnimationClip の ClearCurves で初期化してから新しく差し込む必要がある
// 更新用にカーブをキャッシュ var actions = new List<Action>(); var bindings = AnimationUtility.GetCurveBindings(_animationClip); foreach (var binding in bindings) { var curve = AnimationUtility.GetEditorCurve(_animationClip, binding); var cb = binding; // Curve の変更処理 actions.Add(() => { AnimationUtility.SetEditorCurve(_animationClip, cb, curve); }); } // すべての Curve を削除 _animationClip.ClearCurves(); // 予め確保したものを挿入 foreach (var action in actions) action.Invoke();