首页 文章

Unity3D - 是否可以通过脚本设置动画片段的属性?

提问于
浏览
1

我有一个立方体 . 当它产生时,它会从0到0的等级进行动画制作,从而产生它正在增长的效果 .

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

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

enter image description here

1 回答

  • 2

    是的,但没有 .

    这里的"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( “测试”);
    }
    }

相关问题