该系统是一种桥接,旨在解决艺术家需要在某些材料上制作属性动画的情况
该系统由两个模块组成:
创建配置资产
在 Project View 右键或者按顶部菜单栏的 Assets ,在展开的列表中找到:
Create - M8X - 新建材质参数动画配置
点击以创建一个新的配置文件在当前路径
增减参数配置
选择刚刚新建的配置文件可以看到如下界面
点击Add按钮之后应该看起来是这样
编辑配置
在添加完参数配置后应该看到如下画面
以下截图样例中从上到下分别是Float\Vector\Color三种类型参数的配置界面
左侧一列的 “参数名” 用于记录目标材料中的哪个属性将被其右侧的曲线编辑。“参数”必须与目标材质相同。
重要: 大多数情况下,真实的属性名称与材质的Inspector面板上显示的不一样。属性的真实名称可以在Inspector的Debug模式中找到(在“Saved Properties”中,切换到Debug视图与查找真实命名的方式参见下列截图)。如果你不能找到目标材质上的属性匹配关系,你必须向写目标材质shader代码的作者寻求帮助。
下面的配置意味着被称为_Str的属性将被编辑。样例的目标是为一个叫Distortion的shader修改参数,但是在材质上你找不到任何名为“_Str”的属性,与此同时,另一个名为“Str”的属性显示在视图上。这是因为属性“_Str”被编辑为显示为“Str”。
保存修改 - 点击Save按钮保存所有修改. 你也可以看到被编辑的参数子项作为单个子资产被以参数名进行了重命名
增加组件
增加 MatAnimManager 组件到游戏对象上,它将可以使用Animation进行K帧
增加后你将看到如下界面
增加Curve配置
将上文中创建的MFMatPropCurve资产拖进 Mat Prop Curves 列表.
在组件面板最下方将会出现和单独编辑上述资产时一样的编辑界面。当然功能也是一样的
如果 Mat Prop Curves 列表中有空引用, 则在下方会有红色Error提示
控制面板
组件编辑视图中两条青色分割线中间的面板是控制面板
控制面板中所有的参数都可以被Animation进行K帧.
其中Auto Update开关的默认选项应该是关着的,看起来默认情况应该是下图这样的显示状态
Play - 不论 AutoUpdate 是开启还是关闭的状态,参数动画都只会在Play被勾选时才会播放
Auto Update (非激活) - 意思是组件不会自己管理计时器. 所有的参数都将以识别 Timer 参数以读取时间。 Timer 参数不会随时间自行变化,但是 Timer 可以完全被Animation K帧
在这个模式中,曲线的趋势可以很容易实现反转以产生一些诸如倒放的操作
Auto Update (激活) - 意思是组件会自行管理计时器. 此时不论Animation有多少帧,只要Play开启,组件内配置的参数动画就会强制执行到Duration配置的时间
Collect Renderer
按下 Collect Renderer 按钮以收集当前对象中所有的渲染内容并添加到 Renderers 列表
由于本系统只会控制修改处于 Renderers 列表中的渲染组件包含的材质,你可以手动指定哪些渲染组件可以被控制参数。
你也可以拖拽其他游戏对象的渲染组件进这个列表,或者甚至用自行编写的脚本在运行时将渲染组件添加进列表(不过请务必在Play勾选前将渲染组件添加完毕)。这对于大多数由多个渲染组件组成的蒙皮角色模型会很有用