Tom*_*Tom 2 c# animation unity-game-engine
我有一个立方体。当它生成时,它会从 0 的比例变为 5 的比例,从而赋予它生长的效果。
我的场景中生成了大约 100 个立方体。我希望每个立方体的最大比例是不同的大小(有点变化),但由于附加到我的立方体预制件的动画剪辑,立方体的最大尺寸将为 5(见图)。
有没有办法通过代码或其他方式将动画的缩放属性设置为随机?我已经尝试使用Animator,AnimationClip并Animation但他们没有关于设置属性大小的方法或变量。
是的,但不是。
这里的“是”是您可以进行一系列调用来获取数据并对其进行修改,但修改仅允许作为编辑器脚本:您不能修改运行时播放器环境中的值。
请参阅文档:https : //docs.unity3d.com/ScriptReference/AnimationClip.SetCurve.html
注意:SetCurve 仅在运行时适用于旧版动画剪辑。对于非传统 AnimationClips,它是一个仅限编辑器的功能。
以下脚本示例展示了如何使用动画剪辑为游戏对象位置设置动画。使用 SetCurve() 将动画曲线设置到 AnimationClip 上。本示例将 x 偏移量从 1.0 向下移动到 0.0。
Run Code Online (Sandbox Code Playgroud)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.0F, 1.0F, 2.0F, 0.0F); AnimationClip clip = new AnimationClip(); clip.legacy = true; clip.SetCurve("", typeof(Transform), "localPosition.x", curve); anim.AddClip(clip, "test"); anim.Play("test"); } }