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

效果

步骤

  1. 创建两个actor蓝图

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

设置碰撞预设为"NoCollsion"

  1. 先创建一个控件蓝图

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

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

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

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

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

效果如文章开头所示。

相关推荐
染指111015 天前
11.UE-游戏逆向-内存中的FUObjectArray(深入理解内存数据)
windows·虚幻·ue·unreal engine 4
染指111025 天前
5.UE-探索GetName的加密算法(三)GName(手动使用GName算法,算法总结)
虚幻·unreal engine·ue
零一数创3 个月前
数字孪生赋能智慧能源电力传输管理新模式
ue5·能源·数字孪生·ue·智慧能源·零一数创
零一数创3 个月前
智慧能源驱动数字孪生重介选煤新模式探索
人工智能·ue5·能源·数字孪生·ue·零一数创
雪下的新火5 个月前
PBR材质-Unity/Blender/UE
unity·blender·材质·ue
挨代码8 个月前
UE_C++ —— Gameplay Tags
c++·ue
挨代码8 个月前
UE_C++ —— Gameplay Modules
c++·ue
挨代码8 个月前
UE_C++ —— Delegates
c++·ue
ue星空9 个月前
UE制作2d游戏
游戏·ue·2d
挨代码9 个月前
UE_C++ —— UE反射系统
ue