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

效果

步骤

  1. 创建两个actor蓝图

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

设置碰撞预设为"NoCollsion"

  1. 先创建一个控件蓝图

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

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

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

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

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

效果如文章开头所示。

相关推荐
妙为15 天前
unreal engine5角色把敌人 “挤飞”
游戏引擎·虚幻·ue·unrealengine5
曼巴UE518 天前
UE Sequencer,MediaPlay的使用经验总结
ue5·音视频·ue
曼巴UE521 天前
UE5 C++ 里创造 和 使用编辑GamePlayTag
c++·ue5·ue
曼巴UE522 天前
UE5 C++ GameInstanceSubsystem 在学习
c++·ue5·ue
njsgcs1 个月前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
qq_428639611 个月前
ue无双割草项目:4.让AI受伤及添加UI
ui·ue·无双割草
qq_428639611 个月前
ue无双割草项目:5.让玩家能够受伤
ue·无双割草
qq_428639611 个月前
ue无双割草项目:3.做个人工智障
ue·无双割草
qq_428639611 个月前
ue无双割草项目:2.让角色能够攻击
ue·无双割草
曼巴UE51 个月前
UE GamePlayTag
c++·ue5·ue