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吧)
(我不怕千万人阻挡,只怕自己投降!)