gpt4 book ai didi

c# - Unity3D - 是否可以通过脚本设置动画剪辑的属性?

转载 作者:行者123 更新时间:2023-11-30 21:36:22 29 4
gpt4 key购买 nike

我有一个立方体。当它生成时,它的动画比例从 0 到 5,给人一种正在生长的效果。

我的场景中生成了大约 100 个立方体。我希望每个立方体的最大比例为不同的尺寸(为了有点变化),但由于附加到我的立方体预制件的动画剪辑,立方体的最大尺寸将为 5(参见图片)。

有没有办法通过代码或其他方式将动画的缩放属性设置为随机?我尝试过使用 AnimatorAnimationClipAnimation,但它们没有关于设置属性大小的方法或变量。

enter image description here

最佳答案

是的,但不是。

这里的"is"是,您可以进行一系列调用来获取数据并对其进行修改,但是仅允许作为编辑器脚本进行修改:您可以' t 修改运行时播放器环境中的值。

请参阅文档:https://docs.unity3d.com/ScriptReference/AnimationClip.SetCurve.html

Note: SetCurve will only work at runtime for legacy animation clips. For non-legacy AnimationClips it is an editor-only function.

The following script example shows how a GameObject position can be animated using an animation clip. An animated curve is set onto the AnimationClip using SetCurve(). This example moves the x offset from 1.0 down to 0.0.

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");
}
}

关于c# - Unity3D - 是否可以通过脚本设置动画剪辑的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48287882/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com