整体效果是基于获取玩家的鼠标位置到场景里的位置再tick就不会出现拖拽卡顿会很丝滑本人新手请大家多多担待,有问题大家帮忙指出来
先创建拖拽物品的Actor(可以命名为Bp_Box01),再创建放置物品的位置(Bp_Box02)。
- 放置物体
在Bp_Box01中放置一个正方体,
再在Bp_Box02中放置正方体和BOX
小正方体是放置物体的位置,大正方体是触发的范围(可以摆成这样美观)
2.1在Bp_Box01中创建一个布尔变量名为启用拖拽(默认否)
在事件Tick后加一个分支(布尔值连接启用拖拽)再连接设置Actor位置,(先获取玩家控制器获取鼠标的位置再转换为场景位置,在场景的方向上乘于600再加上场景位置连接到Actor位置)
(这里乘600的原因是因为鼠标是2d坐标轴没有z轴默认拖拽物品的话会到摄像机跟前乘600就会远离摄像机这个数值可以自行调整)
2.2在Bp_Box01的细节中添加点击时和释放时,后面都连着启用拖拽。(点击时的勾选拖拽,释放时的是不勾选拖拽)
在事件开始运行后面连接启用点击事件(这里要搜索Set Enable Click把情景相关取消掉中文搜索不到)再创建一个自定义事件名为停止点击后面连接启用点击事件。(停止点击不勾选,事件开始运行勾选)
3.在Bp_Box02的小box的细节中添加组件开始重叠事件,大box也是一样的。在小box的重叠事件后面cast to Bp_Box01右键创建变量后面连接Bp_Box01的位置(Bp_Box01后面获取Actor位置右键创建变量)后面连接启用拖拽不勾选(从Bp_Box01拖出)连接停止点击(跟启用拖拽一样)连接一个事件轴(在时间轴添加浮点型轨道长度为3添加两个关键帧第一个关键帧(时间0.0,值0.0)第二个关键帧(时间3.0,值1.0))
后面连接设置Actor位置(目标连接Bp_Box01,位置从时间轴的浮点连出接插值Bp_Box01的位置连A,获取小正方体的场景位置连B,插值结果连接到设置Actor位置Location)
连接显示鼠标光标不勾选。(目标连接玩家控制器)
3.1在大box的重叠事件后面cast to Bp_Player再连接显示鼠标光标勾选。(目标连接玩家控制器)
整体蓝图
Bp_Box01
Bp_Box02
标签:位置,蓝图,Actor,拖拽,Bp,UE4,连接,Box01 From: https://blog.csdn.net/fengwuliuxi/article/details/143655957