我有一个立方体 . 当它产生时,它会从0到0的等级进行动画制作,从而产生它正在增长的效果 .
我有大约100个立方体产生到我的场景中 . 我希望每个立方体的最大比例尺寸不同(有点多样),但由于附加到我的立方体预制件的动画剪辑,立方体的最大尺寸将为5(见图片) .
有没有办法通过代码或其他方法,我可以将动画的scale属性设置为随机?我尝试过使用 Animator , AnimationClip 和 Animation 但他们没有关于设置属性大小的方法或变量 .
Animator
AnimationClip
Animation
是的,但没有 .
这里的"yes"是你可以进行一系列调用来获取数据并对其进行修改,但修改只允许作为编辑器脚本:你不能修改运行时播放器环境中的值 .
查看文档:https://docs.unity3d.com/ScriptReference/AnimationClip.SetCurve.html
注意:SetCurve仅在运行时用于传统动画片段 . 对于非传统的AnimationClip,它是一个仅限编辑器的功能 . 以下脚本示例显示如何使用动画片段为GameObject位置设置动画 . 使用SetCurve()将动画曲线设置到AnimationClip上 . 此示例将x偏移从1.0向下移动到0.0 . 使用UnityEngine;使用System.Collections;
[RequireComponent(typeof运算(动画))]public class ExampleClass:MonoBehaviour {公共动画动画;void Start(){anim = GetComponent <Animation>();AnimationCurve曲线= AnimationCurve.Linear(0.0F,1.0F,2.0F,0.0F);AnimationClip clip = new AnimationClip();clip.legacy = true;clip.SetCurve(“”,typeof(Transform),“localPosition.x”,曲线);anim.AddClip(剪辑,“测试”);anim.Play( “测试”);}}
1 回答
是的,但没有 .
这里的"yes"是你可以进行一系列调用来获取数据并对其进行修改,但修改只允许作为编辑器脚本:你不能修改运行时播放器环境中的值 .
查看文档:https://docs.unity3d.com/ScriptReference/AnimationClip.SetCurve.html
[RequireComponent(typeof运算(动画))]
public class ExampleClass:MonoBehaviour {
公共动画动画;
void Start(){
anim = GetComponent <Animation>();
AnimationCurve曲线= AnimationCurve.Linear(0.0F,1.0F,2.0F,0.0F);
AnimationClip clip = new AnimationClip();
clip.legacy = true;
clip.SetCurve(“”,typeof(Transform),“localPosition.x”,曲线);
anim.AddClip(剪辑,“测试”);
anim.Play( “测试”);
}
}