李晨

特效美术:曲线编辑器propertyAnimator的使用方法


hi,这里介绍一个更完善的动画编辑系统,相比早期的KeyframeObjectContainer而言propertyAnimatorContainer具备更强的兼容性,不但可以记录mesh的动画信息,同时也可以记录材质上使用到的方法的参数变化。更重要的是propertyAnimatorContainer可以编辑两个关键帧之间的曲线动态效果,现今我们提供的有 线性曲线,贝塞尔曲线 和 恒定曲线,可以单独设置关键帧左右两边的曲线变化类型,也可设置成双边同样的曲线变化类型。

下面会介绍一下曲线类型,曲线编辑器版面介绍,如何给mesh使用propertyAnimator,如何给群集(多个对象或者粒子)使用propertyAnimator,如何添加需要记录动画的属性
曲线类型
线性曲线是匀速变化的。
quxianbianji001
贝塞尔曲线是具备缓起缓停变化。
quxianbianji002
恒定曲线是不具备变化的曲线,它会在保持上一个关键帧的数据,直到下一个关键帧直接切换。
quxianbianji003

曲线编辑器的版面介绍
要打开曲线编辑模式就需要在propertyAnimator左边的UI窗口中勾选curves即可将帧动画记录栏转变为曲线编辑窗口。
quxianbianji004

  1. 自动记录关键帧,它会在当前帧记录你对可编辑属性的调整,关闭后就需要在对应的属性栏里手动输入参数。
  2. 复制曲线编辑的数据信息。
  3. 黏贴最近一次复制的曲线数据信息。
  4. 时间轴按照 帧率显示(frame)和 秒数显示(time)的切换。
  5. 滑块当前所处的帧位或者是时间点。
  6. 帧动画记录栏和曲线编辑栏的切换。
  7. 细分属性栏,双击数字可以直接改变参数。
  8. 属性栏,点击+可以展开细分属性栏,-可以折叠细分属性栏,双击数字可以直接更改参数。
    绿色的图标是K帧按钮,AddProperty是添加新的可编辑属性,DeleteProperty是删除选中的可编辑属性。
    PS:需要编辑的属性需要预先添加进propertyAnimator才能在AddProperty的列表中看到。
    如何给mesh使用propertyAnimator
    对于单个的mesh做动画,我们可以在mesh窗口中的General栏中看到Animator下为空(null)点击黑色的三角打开下拉菜单 选取propertyAnimator或者新建一个propertyAnimator;蓝色箭头点进去可以设置动画的长度和是否循环等属性。
    quxianbianji005
    PS:Duration(动画持续时间)以毫秒为单位,1000毫秒=1秒
    showTrajectory(显示运动轨迹)是显示的是位移的轨迹

如何给群集(多个对象或者粒子)使用propertyAnimator

  1. 在sceneObjects窗口这里创建一个曲线编辑容器(PropertyAnimatorContainer)
    quxianbianji006
  2. 如果是mesh或者Sparticle(粒子)直接拖到PropertyAnimatorContainer名下就可以了。
    quxianbianji007
  3. 如果是材质方法(Method,即常说的shader)则将方法拖进PropertyAnimatorContainer的PropertyOwners之中就可以了(选中这个PropertyAnimatorContainer,编辑器右边会出现下图UI内容。打开左边Materials栏目,将需要编辑的材质方法拖进右边的propertyOwners窗口,案例使用corrodeMethod)。
    quxianbianji008

如何添加需要记录动画的属性

  1. 点击AddProperty,在弹出的菜单中选取需要记录的动画属性(只有附加到mesh或sparticle的Meterials上的Mothed,或者是添加进PropertyOwners下的才会出现在SelectProperty里面)
    quxianbianji009
  2. 根据制作需求对属性进行编辑。
    quxianbianji010
  3. 根据制作需求对曲线进行编辑。
    quxianbianji016

如何在项目中给群集添加材质动画(Mothed)

这里介绍一下项目常用的,制作一个材质动画,并且根据需要应用到多个模型材质上的是制作方法。
资源由美术制作,保存成AWD文件,应用的时候由程序来进行匹配。
我们使用溶解材质方法作为案例。
首先,在材质上创建出使用的方法(shader,这里使用corrodeMethod为案例)
quxianbianji011
然后,在sceneObjects窗口这里创建一个曲线编辑容器(PropertyAnimatorContainer)
quxianbianji012
选中这个PropertyAnimatorContainer,编辑器右边会出现下图UI内容(这个PropertyAnimatorContainer是可以重命名的)。打开左边Materials栏目,将需要编辑的材质方法拖进右边的propertyOwners窗口(案例使用corrodeMethod)

我们再中下方可以看到一个空白的窗口,点选AddProperty添加需要编辑的属性
quxianbianji013
根据制作需求对材质动画进行编辑,
quxianbianji014
quxianbianji015

制作完毕后在sceneObjects窗口中将模型删除,只保留PropertyAnimatorContainer,保存即可。
项目使用时调用这个文件,并将指定的材质方法添加上需要应用的模型的Materials上即可。
需要注意的是,PropertyAnimatorContainer里记录的动画也需要同步播放。
PropertyAnimatorContainer跟其他动画应该是并行的,不建议设置从属关系.

##PS:
① 本文主要目的是讲解对于多个相同素材的特效怎么利用脚本来进行性能优化。
② 如果有疑问或者错误不足之处,请和TA组联系!欢迎交流,我们会及时补充纠正!