动态材质实例(Dynamic Material Instance)【UE4】

简介: 动态材质实例(Dynamic Material Instance)【UE4】

本例将通过 “靠近影响椅子的颜色” 来展示什么是 动态材质实例(Dynamic Material Instance)

20170314144431319.gif

如图,它通常是用一个参数化的材质实例 + 蓝图 来实现的

image.png

首先,我们搜索椅子模型——SM_Chair,双击打开它的材质——M_Chair

image.png

可以看到 ColorSeats 参数影响着椅子的颜色,记住它的名字。


接着,我们创建一个继承自 Actor 的蓝图类,将椅子的模型拖入新建的蓝图类

image.png

然后,我们为其顶一个触发区域,这样当我们靠近它时,将会触发一个事件,如图:

image.png

调整合适的大小和位置

image.png

接着,我们切换到 Construction Script 界面


用它来决定蓝图使用哪一个材质


将椅子模型拖入空白处,选择 Get,然后从他拉出一条线,选择 Create Dynamic Material Instance


再从其 return value 上拉出一条线选择 Promote To Variable,结果如图:


image.png

image.png

下一步我们再回到 Event Graph

选中 Box,右键点击空白处,选择 Add On Component Begin Overlap

image.png

选中我们之前在 Construction Scirpt 创建的变量,将其拖动进来,并拉出一条 Set Vector Parameter Value 线,并将这个新节点的 exec pin 和 OnComponentBeginOverlap 的 exec pin 相连。


最最重要的是,Set Vector Parameter Value 的 Parameter Name 改为 “ColorSeats”,即我们之前在椅子模型材质中看到的参数名


最后我们在定义一个随机颜色,结果输出到 Set Vector Parameter Value中。

image.png

(完)

目录
相关文章
|
6月前
|
设计模式 编译器 API
【C/C++ Pimpl模式】隐藏实现细节的高效方式 (Pimpl Idiom: An Efficient Way to Hide Implementation Details)
【C/C++ Pimpl模式】隐藏实现细节的高效方式 (Pimpl Idiom: An Efficient Way to Hide Implementation Details)
565 1
|
6天前
|
前端开发 UED
next/dynamic的动态导入
next/dynamic的动态导入
|
6月前
|
设计模式 开发框架 算法
【QML 创建界面】QML界面的动态创建及其其他方法 (Dynamic Creation of QML Interfaces and Other Methods)
【QML 创建界面】QML界面的动态创建及其其他方法 (Dynamic Creation of QML Interfaces and Other Methods)
647 0
UE DT Load Texture 运行时加载纹理图片 插件说明
UE DT Load Texture 运行时加载纹理图片 插件说明
168 0
uiu
|
JavaScript
【Svelte】-(7)绑定|Each 块绑定 / audio video 媒体标签绑定 / client offset 尺寸绑定 / this / 组件绑定
【Svelte】-(7)绑定|Each 块绑定 / audio video 媒体标签绑定 / client offset 尺寸绑定 / this / 组件绑定
uiu
108 0
【Svelte】-(7)绑定|Each 块绑定 / audio video 媒体标签绑定 / client offset 尺寸绑定 / this / 组件绑定
实例演示相机的OnImageRender和Clear Flags清理标识(Unity3D)
无论多基础、简单的知识,只要不会,就是难。。 这次的总结主要与相机上的Clear Flags及OnImageRender函数有关Clear Flags对于这个选项,我是这么理解的:每一个相机在开始绘制时,都需要对当前RenderBuffer中的颜色缓冲区(ColorBuffer)和深度缓冲区(Z-Buffer)进行是否清除的操作,这个选项控制了清除及清除后的内容。
后期处理材质(Post Process Material)【UE4】
后期处理材质(Post Process Material)【UE4】
443 0
后期处理材质(Post Process Material)【UE4】
材质实例化(Material Instancing)【UE4】
材质实例化(Material Instancing)【UE4】
297 0
材质实例化(Material Instancing)【UE4】
后期材质(PostProcess Material)+ Custom Node 实现"描边"和"马赛克"效果【UE4】
后期材质(PostProcess Material)+ Custom Node 实现"描边"和"马赛克"效果【UE4】
338 0
后期材质(PostProcess Material)+ Custom Node 实现"描边"和"马赛克"效果【UE4】
|
图形学
Unity组件:Fixed Joint 固定关节
Fixed Joints restricts an object's movement to be dependent upon another object. This is somewhat similar to Parentingbut is implemented through physics rather than Transform hierarchy.
1900 0