总要有人来改变世界的,为什么不能是你呢

ue4之mesh点击事件触发切换材质

在ue4中,往场景中添加一个mesh,可以至少有三种方式:

下面对于点击事件我们一一道来。

写在前面:

新建一个玩家控制器:

开启点击事件。

1.Basic

我们从Basic添加一个cube到场景中,然后点击该cube,右键-->Add Event(最下面)-->OnClicked ;

然后会在打开当前的关卡蓝图,like this:

然后我们让他输出文本,并且从场景中拖一个元素进来,改变其材质

找到mesh,按住拖到右边关卡蓝图,编写蓝图

运行结果:

 我们可以看到,点击这个Basic中添加的mesh,打印出了文本信息,并且成功地切换了后面台阶的材质。

2.Geometry

从 Geometry中添加的mesh是没有任何初始化材质的,要自己设置材质,然后他长这样

和上面一样,也是可以右键添加事件,点击事件(关卡蓝图);

但是!!!运行起来之后,没有任何效果

so,如果你知道原因的话,欢迎下方留言

3.Actor 蓝图

新建一个Actor蓝图,添加cube立方体

然后,右边详情最下面事件,添加点击事件

下面是重点了,这里我们放大该蓝图:

注意了啊:

这里我们想像之前那样从world outliner里拖一个mesh进来,发现,拖不了啊,这尼玛!!!

然后你会发现,有个函数get all actors with xxx(假如是tag),不用想,这个函数绝壁返回一个数组,那么问题来了这个tag在哪里设置呢?

是在这里设置的,相当于个模型分类了吧,然后我们继续

获取到模型数组之后,loop循环,循环体中我们set material(设置材质),并且是对这个场景元素下的静态mesh设置材质(可能他是一个group吧)

 

posted @   桔子桑  阅读(2120)  评论(1编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示