项目常见需求之一就是在运行时,根据游戏逻辑或者其他奇葩需求动态改变对象的外观,其中一些需要动态改变材质的某些参数,例如颜色值,贴图等。
在虚幻4引擎中完成这个非常简便,主要分为三步:
创建包含材质参数的Material
如上图所示,我创建了一个非常简单的材质,其中包含“MColor”这样一个vector3的参数。
创建Dynamic Material Instance
接下来就要创建Dynamic Material Instance对象,一般可以在对象的Construction Script中完成,如下图所示,我们创建了一个Dynamic Material Instance Object,并把它报错到了“MyMaterial”变量中:
在运行时修改材质参数
接下来我们就可以调用Dynamic Material Instance的接口,来动态修改材质的参数,主要是下面三个:
在下面这个例子中,在按下键盘数字键1的时候,动态修改了前面那个材质的“MColor”参数:
DEMO源代码
前面这个简单的例子的源代码请从这里下载:https://code.csdn.net/neil3d/unrealcookbook
使用的引擎版本为:4.11.2
打开项目后,启动“DynamicMaterialInstance/DynamicMaterial.umap”地图文件即可运行。
时间: 2024-10-11 01:29:22