relativePath | @param relativePath Путь к игровому объекту, к которому относится эта кривая. relativePath отформатирован подобно файловому пути, например "rootrelativePath leftArm".
Если relativePath пуст, то он ссылается на игровой объект, к которому привязан анимационный клип. |
type | @param type Тип класса компонента, который анимируется. |
propertyName | @param propertyName Имя или путь к анимируемому свойству. |
curve | @param curve Анимационная кривая. |
Назначает кривую для анимации конкретного свойства.
Если кривая
null, кривая будет удалена. Если кривая уже существует
для этого свойства, она будет заменена.
**Note:** SetCurve will only work at runtime for Legacy AnimationClips. For Non-Legacy AnimationClips it is an editor-only function.
Общие имена: "localPosition.x"
, "localPosition.y"
, "localPosition.z"
,
Общие имена: "localPosition.x"
, "localPosition.y"
, "localPosition.z"
,
"localScale.x"
, "localScale.y"
, "localScale.z"
.
var anim: Animation;
function Start() { anim = GetComponent.<Animation>();
// Animates the x coordinate of a transform position. // Create the curve. var curve : AnimationCurve = AnimationCurve.Linear(0, 1, 2, 3);
// Create the clip with the curve. var clip : AnimationClip = new AnimationClip(); clip.legacy = true; clip.SetCurve("", Transform, "localPosition.x", curve); // Add and play the clip anim.AddClip(clip, "test"); anim.Play("test"); } @script RequireComponent(Animation)
using UnityEngine; using System.Collections;
[RequireComponent(typeof(Animation))] public class ExampleClass : MonoBehaviour { public Animation anim; void Start() { anim = GetComponent<Animation>(); AnimationCurve curve = AnimationCurve.Linear(0, 1, 2, 3); AnimationClip clip = new AnimationClip(); clip.legacy = true; clip.SetCurve("", typeof(Transform), "localPosition.x", curve); anim.AddClip(clip, "test"); anim.Play("test"); } }
Свойства Material могут быть анимированы с использованием имени свойства экспортированного в шейдере.
Общие имена свойств: "_MainTex"
, "_BumpMap"
, "_Color"
, "_SpecColor"
, "_Emission"
.
Как анимировать различные типы свойств материала:
Свойства Float: "PropertyName"
__Свойства Vector4:__ "PropertyName.x"
, "PropertyName.y"
, "PropertyName.z"
, "PropertyName.w"
__Свойства Color:__ "PropertyName.r
", "PropertyName.g"
, "PropertyName.b"
, "PropertyName.a"
Свойства вращения UV: "PropertyName.rotation"
UV смещение и масштаб: "PropertyName.offset.x"
, "PropertyName.offset.y"
, "PropertyName.scale.x"
, "PropertyName.scale.y"
To index into multiple materials on the same renderer you can prefix the attribute like this: "[1]._MainTex.offset.y"
See Also: Функция ClearCurves, класс AnimationCurve.
var anim: Animation;
function Start() { anim = GetComponent.<Animation>();
// Animate color's alpha and main texture's horizontal offset. var clip = new AnimationClip (); clip.legacy = true; 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)); anim.AddClip (clip, clip.name); anim.Play(clip.name); } @script RequireComponent(Animation)
using UnityEngine; using System.Collections;
[RequireComponent(typeof(Animation))] public class ExampleClass : MonoBehaviour { public Animation anim; void Start() { anim = GetComponent<Animation>(); AnimationClip clip = new AnimationClip(); clip.legacy = true; 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)); anim.AddClip(clip, clip.name); anim.Play(clip.name); } }
Property names can be looked up by setting Asset Serialization to Force Text mode in the Editor settings. The text files that are then written by the editor will include the names of the properties. For example, the yaml file written for a Scene object will include the Camera settings. Looking at this yaml file will show:
m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: .0196078438}
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: .300000012
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
This shows that the name for the FOV parameter is "field of view". If you wanted to create an animation clip to animate the camera field of view, you would pass "field of view" as the propertyName.