AnimationClip.SetCurve

function SetCurve (relativePath : String, type : Type, propertyName : String, curve : AnimationCurve) : void

Parameters

NameDescription
relativePath
type The class type of the component that is animated.
propertyName The name or path to the property being animated.
curve The animation curve.

Description

Assigns the curve to animate a specific property.

If curve is null the curve will be removed. If a curve already exists for that property, it will be replaced.

Common names are: "localPosition.x", "localPosition.y", "localPosition.z", "localRotation.x", "localRotation.y", "localRotation.z", "localRotation.w" "localScale.x", "localScale.y", "localScale.z".

JavaScript
    // Animates the x coordinate of a transform position
function Start () {
// Create the curve
var curve : AnimationCurve = AnimationCurve.Linear(0, 1, 2, 3);
// Create the clip with the curve
var clip : AnimationClip = new AnimationClip();
clip.SetCurve("", Transform, "localPosition.x", curve);

// Add and play the clip
animation.AddClip(clip, "test");
animation.Play("test");
}
@script RequireComponent(Animation)

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(Animation))]
public class example : MonoBehaviour {
void Start() {
AnimationCurve curve = AnimationCurve.Linear(0, 1, 2, 3);
AnimationClip clip = new AnimationClip();
clip.SetCurve("", typeof(Transform), "localPosition.x", curve);
animation.AddClip(clip, "test");
animation.Play("test");
}
}

import UnityEngine
import System.Collections

[RequireComponent(Animation)]
class example(MonoBehaviour):

def Start():
curve as AnimationCurve = AnimationCurve.Linear(0, 1, 2, 3)
clip as AnimationClip = AnimationClip()
clip.SetCurve('', Transform, 'localPosition.x', curve)
animation.AddClip(clip, 'test')
animation.Play('test')

Material properties can be animated using the property name exported in the shader. Common property names are: "_MainTex", "_BumpMap", "_Color", "_SpecColor", "_Emission". How to animate different material property types: See Also: ClearCurves function, AnimationCurve class.
JavaScript
    // Animate color's alpha and main texture's horizontal offset.
function Start () {
var clip = new AnimationClip ();
clip.SetCurve ("", Material, "_Color.a",
AnimationCurve (Keyframe(0, 0, 0, 0), Keyframe(1, 1, 0, 0)));
clip.SetCurve ("", Material, "_MainTex.offset.x",
AnimationCurve.Linear(0, 1, 2, 3));
animation.AddClip (clip, clip.name);
animation.Play(clip.name);
}
@script RequireComponent(Animation)

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(Animation))]
public class example : MonoBehaviour {
void Start() {
AnimationClip clip = new AnimationClip();
clip.SetCurve("", typeof(Material), "_Color.a", new AnimationCurve(new Keyframe(0, 0, 0, 0), new Keyframe(1, 1, 0, 0)));
clip.SetCurve("", typeof(Material), "_MainTex.offset.x", AnimationCurve.Linear(0, 1, 2, 3));
animation.AddClip(clip, clip.name);
animation.Play(clip.name);
}
}

import UnityEngine
import System.Collections

[RequireComponent(Animation)]
class example(MonoBehaviour):

def Start():
clip as AnimationClip = AnimationClip()
clip.SetCurve(, Material, '_Color.a', AnimationCurve(Keyframe(0, 0, 0, 0), Keyframe(1, 1, 0, 0)))
clip.SetCurve(
, Material, '_MainTex.offset.x', AnimationCurve.Linear(0, 1, 2, 3))
animation.AddClip(clip, clip.name)
animation.Play(clip.name)