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

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 @ 2020-05-14 11:24  桔子桑  阅读(2018)  评论(1编辑  收藏  举报