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

效果

步骤

  1. 创建两个actor蓝图

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

设置碰撞预设为"NoCollsion"

  1. 先创建一个控件蓝图

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

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

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

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

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

效果如文章开头所示。

相关推荐
夜猫逐梦3 小时前
【UE源码精读-ActionRPG】伤害管线:从捕获到扣血
ue·unreal·ue基础
夜猫逐梦21 天前
【UE基础】03.蓝图与编辑器工作流
编辑器·ue·蓝图·ue编辑器
夜猫逐梦22 天前
【UE基础】02.基类与蓝图子类的分工
ue·蓝图·ue基础
夜猫逐梦22 天前
【UE基础】01.环境与引擎心智模型
游戏·逆向·ue·unreal·actionrpg
数峦云数字孪生三维可视化25 天前
数字孪生可视化架构选型:基于UE像素流送与Web引擎的完整决策指南
数字孪生·ue·web3d·技术选型·像素推流
挨代码1 个月前
UEC++ 数据类型及继承关系
c++·ue
挨代码1 个月前
UE Mobility
ue
晴夏。2 个月前
UE 常见IK算法
ue·ik
晴夏。2 个月前
UE 网络同步之 为什么属性复制比RPC更节省性能
ue·网络同步
晴夏。2 个月前
unlua实现原理
游戏·ue5·ue4·lua·ue·unlua