Unity动画事件

来源:互联网 发布:成都学院软件邀请赛 编辑:程序博客网 时间:2024/06/06 02:49

动画事件添加

var clip = new AnimationClip();//clip,动画剪辑  储存基于动画的关键帧。这里新建动画剪辑
clip.SetCurve ("", typeof(Material), "_Color.a", AnimationCurve.EaseInOut(0, 1, 5, 0));//给动画指定曲线一个特殊的属性。

setCurve方法参数:

        param1:relativePath应用给该曲线的游戏物体的路径relativePath被格式化类似路径,如"root/spine/leftArm"。如果relativePath为空,表示动画剪辑附加的游戏物体。

        param2:type该动画组建的类型。

        param3:propertyName该动画的属性的名字或路径

        param4:curve动画曲线

Material材质属性可以使用shader导出的属性名称制作动画。通常使用的名称是: "_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"        对于在同一renderer的多个索引材质,你能想这样添加前缀:"[1]._MainTex.offset.y"

    var event = new AnimationEvent();//定义动画事件
    event.time = 5;//事件触发时间
    event.functionName = "InstantiateParticle";//事件回调方法
    clip.AddEvent(event);//添加此动画时间到动画剪辑中



animation.AddClip(clip, "test");//添加此动画剪辑到物体动画中

animation.Play("test");//播放动画

1 0
原创粉丝点击