Unreal Cook Book:动态改变材质的颜色等参数

Posted 房燕良

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unreal Cook Book:动态改变材质的颜色等参数相关的知识,希望对你有一定的参考价值。

项目常见需求之一就是在运行时,根据游戏逻辑或者其他奇葩需求动态改变对象的外观,其中一些需要动态改变材质的某些参数,例如颜色值,贴图等。

在虚幻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的接口,来动态修改材质的参数,主要是下面三个:

 

在下面这个例子中,在按下键盘数字键1的时候,动态修改了前面那个材质的“MColor”参数:

 

DEMO源代码

前面这个简单的例子的源代码请从这里下载:https://github.com/neil3d/UnrealCookBook

使用的引擎版本为:4.11.2

打开项目后,启动“DynamicMaterialInstance/DynamicMaterial.umap”地图文件即可运行。

 

 

 

以上是关于Unreal Cook Book:动态改变材质的颜色等参数的主要内容,如果未能解决你的问题,请参考以下文章

Building Worlds In Unreal 学习笔记——番外1:自制交互水面

Building Worlds In Unreal 学习笔记——番外1:自制交互水面

Building Worlds In Unreal 学习笔记——番外1:自制交互水面

Unreal4材质表达式实用表达式类节点讲解0015

Building Worlds In Unreal 学习笔记——03-06 地形贴图/地形材质/修正重复/近景位移

Building Worlds In Unreal 学习笔记——31-33 天空与雾气/体积云参数与材质分析