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

效果

步骤

  1. 创建两个actor蓝图

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

设置碰撞预设为"NoCollsion"

  1. 先创建一个控件蓝图

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

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

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

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

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

效果如文章开头所示。

相关推荐
晴夏。8 天前
unlua实现原理
游戏·ue5·ue4·lua·ue·unlua
晴夏。8 天前
c++调用lua的方法
c++·游戏引擎·lua·ue
晴夏。9 天前
UE Spawn出来的Actor的生命周期和管理方法
游戏·ue5·ue4·ue
晴夏。9 天前
UE垃圾回收的全方面讲解(通俗易懂)【底层实现、触发方式、引用保持、优化、工具】
ue5·游戏引擎·ue·垃圾回收
晴夏。11 天前
GAS下的网络同步的全面分析【超级全面】
游戏引擎·ue·gas·网络同步
晴夏。15 天前
UE5第三人称模板实现及相关引擎源码分析
unity·ue5·游戏引擎·ue
晴夏。15 天前
UE原生MovementBase实现分析
游戏引擎·ue·3c
晴夏。15 天前
UE原生第三人称相机源码分析
游戏·ue5·ue4·相机·ue·3c
曼巴UE51 个月前
Unlua 官方案例
c++·ue5·lua·ue
MinterFusion1 个月前
在数据可视化中需要考虑的人类视觉特性
信息可视化·ue