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

效果

步骤

  1. 创建两个actor蓝图

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

设置碰撞预设为"NoCollsion"

  1. 先创建一个控件蓝图

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

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

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

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

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

效果如文章开头所示。

相关推荐
挨代码1 个月前
UE_C++ —— Gameplay Tags
c++·ue
挨代码1 个月前
UE_C++ —— Gameplay Modules
c++·ue
挨代码1 个月前
UE_C++ —— Delegates
c++·ue
ue星空2 个月前
UE制作2d游戏
游戏·ue·2d
挨代码3 个月前
UE_C++ —— UE反射系统
ue
linglongbayinhe3 个月前
UE5 把场景转成HDR图
ue
GDAL5 个月前
UE5入门教程:蓝图概念
ue
GDAL5 个月前
Pixel Streaming入门教程:SignallingWebServer
数字孪生·ue
Dawn·张6 个月前
UE小:UE5的Pixelstreaming在捕获画面的时候没办法显示非Viewport的Slate区域按钮的ToolTip
unity·游戏引擎·ue
普世的微光7 个月前
UE-- 引入IOS framework 库 真机运行闪退
c++·ios·ue