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吧)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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语句:使用策略模式优化代码结构