项目常见需求之一就是在运行时,根据游戏逻辑或者其他奇葩需求动态改变对象的外观,其中一些需要动态改变材质的某些参数,例如颜色值,贴图等。
在虚幻4引擎中完成这个非常简便,主要分为三步:
创建包含材质参数的Material
如上图所示,我创建了一个非常简单的材质,其中包含“MColor”这样一个vector3的参数。
创建Dynamic Material Instance
接下来就要创建Dynamic Material Instance对象,一般可以在对象的Construction Script中完成,如下图所示,我们创建了一个Dynamic Material Instance Object,并把它保存到了“MyMaterial”变量中。MyMaterial的类型是:Material Instance Dynamic -> Object Reference:
在运行时修改材质参数
接下来我们就可以调用Dynamic Material Instance的接口,来动态修改材质的参数,主要是下面三个: