【UE】两步实现“从UI中拖出Actor放置到场景中”

效果

步骤

1. 创建两个actor蓝图

【UE】两步实现“从UI中拖出Actor放置到场景中”_第1张图片

在两个蓝图中分别添加立方体和球体形状的静态网格体组件,注意移动性设置为“可移动”

【UE】两步实现“从UI中拖出Actor放置到场景中”_第2张图片

设置碰撞预设为“NoCollsion”

【UE】两步实现“从UI中拖出Actor放置到场景中”_第3张图片

 2. 先创建一个控件蓝图

【UE】两步实现“从UI中拖出Actor放置到场景中”_第4张图片

打开控件蓝图,在画布面板中添加两个按钮

【UE】两步实现“从UI中拖出Actor放置到场景中”_第5张图片

为按钮添加“按压时”和“松开时”的事件

【UE】两步实现“从UI中拖出Actor放置到场景中”_第6张图片

当按压按钮后,在世界坐标原点生成Actor

【UE】两步实现“从UI中拖出Actor放置到场景中”_第7张图片

当鼠标松开时,会不断从鼠标位置发射出射线检测,射线与场景中碰撞的点就是此时actor的位置,当玩家再次点击鼠标左键后就会关闭检测,然后actor的位置也就固定下来。

【UE】两步实现“从UI中拖出Actor放置到场景中”_第8张图片

但此时有一个问题,就是放置的actor是没有碰撞的。解决办法是我们可以自定义actor的碰撞,设置actor只有Pawn类型物体才会和它发生碰撞。

【UE】两步实现“从UI中拖出Actor放置到场景中”_第9张图片

效果如文章开头所示。 

你可能感兴趣的:(虚幻5,虚幻4,UE)