美文网首页VR专区
UE4 射线选中物体,UI改变物体的材质

UE4 射线选中物体,UI改变物体的材质

作者: 青鱼谷雨 | 来源:发表于2017-07-18 15:10 被阅读257次

    如果图片太小,可以Ctrl+鼠标滑轮放大速小

    我的思路是首先射线选中你需要改变的物体,然后通过显示UI,通过UI来明确的更改我们想要的材质。

    首先我们需要一个UI,很简单这里我就不截图演示了。然后通过蓝图激活UI。


    激活UI.jpg

    然后我们还需要在程序运行的时候,鼠标可以实时显示。

    激活鼠标.jpg

    基本思路是点击鼠标右键,从摄像机处发送一条射线,终点在鼠标点击的位置(把鼠标的屏幕坐标转换成世界坐标)。

    选中摄像机以它为射线的起点,找到GetworldLocation节点


    射线起点.jpg

    屏幕转换世界坐标


    屏幕坐标转换.jpg

    这个节点就是UE4中的射线相对于U3D中的Ray


    射线.jpg

    通过射线选择物体,改变该物体的材质,表明选择了该物体。Break HitResult节点中 Blocking Hit返回的是一个bool值,如果选中了物体,那么返回True,否则返回false。现在我们新建一个Bool局部变量RayBool,用来表示是否选中物体。HitActor返回的是射线选中的物体,那么我们新建一个Actor局部变量Temp_Actor,用来表示选的物体。

    摄像机射线图.jpg

    如果没有选中物体,那么UI隐藏。只有选中物体时UI才可以显示。

    激活或隐藏UI.jpg

    到了这里我们已经得到需要更改材质的物体,下面需要来通过UI来更改材质,这里我用数组把需要用到的材质存储(懒。。),新建一个Material类型的数组Array_First

    数组.jpg

    然后自定义一个事件,方便等下UI调用。

    更改材质.jpg

    下面来创建一个UI按钮,选择OnClicked,这是个点击事件。

    UI和点击事件.jpg

    按钮的点击事件


    点击事件.jpg

    相关文章

      网友评论

        本文标题:UE4 射线选中物体,UI改变物体的材质

        本文链接:https://www.haomeiwen.com/subject/opeqkxtx.html