var pos = AnimationCurve.Linear(0f, 0f, 2f, 3f);
var rotate = AnimationCurve.Linear(0f, 0f, 2f, 45f);
var scale = AnimationCurve.Linear(0f, 0f, 2f, 2f);
var clip = new AnimationClip();
clip.SetCurve("", typeof(Transform), "m_LocalPosition.x", pos);
clip.SetCurve("", typeof(Transform), "localEulerAnglesRaw.y", rotate);
clip.SetCurve("", typeof(Transform), "m_LocalScale.z", scale);
var enable = new AnimationCurve(
new Keyframe(0f, 1f, float.PositiveInfinity, float.PositiveInfinity),
new Keyframe(1f, 0f, float.PositiveInfinity, float.PositiveInfinity),
new Keyframe(2f, 1f, float.PositiveInfinity, float.PositiveInfinity),
new Keyframe(3f, 1f, float.PositiveInfinity, float.PositiveInfinity));
var clip = new AnimationClip();
clip.SetCurve("", typeof(MeshRenderer), "m_Enabled", enable);
string shapeName = "blendshape_eye";
AnimationCurve curve = AnimationCurve.Constant(0f, 1f, value);
var clip = new AnimationClip();
clip.SetCurve("", typeof(SkinnedMeshRenderer), "blendShape." + shapeName, curve);
var curve1 = AnimationCurve.EaseInOut(0f, 1f, 2f, 5f);
var curve2 = new AnimationCurve(
new Keyframe(0f, 1f, float.PositiveInfinity, float.PositiveInfinity),
new Keyframe(1f, 0f, float.PositiveInfinity, float.PositiveInfinity));
var clip = new AnimationClip();
clip.SetCurve("Cube", typeof(BoxCollider), "m_Center.y", curve1);
clip.SetCurve("Cube/Sphere", typeof(GameObject), "m_IsActive", curve2);