【UE】抓取物体

您所在的位置:网站首页 ue如何出竖线 【UE】抓取物体

【UE】抓取物体

2024-07-15 03:48| 来源: 网络整理| 查看: 265

目录

效果

步骤

一、制作准心

二、简单的第三人称视角偏移

三、基于屏幕正中央的打点与射线

四、物理抓取的实现(抓取、放下、丢出)

效果

步骤 一、制作准心

1. 新建一个HUD,这里命名为“HUD_ZhunXin”,同时复制一个第三人称模板蓝图,这里命名为“BP_Character”

2. 在世界场景设置中,设置默认pawn类为“BP_Character”,HUD类为“HUD_ZhunXin”

3. 打开“HUD_ZhunXin”,点击重载“接收绘制HUD”

此时会出现如下节点,该节点输出的“SizeX”和“SizeY”分别表示视口尺寸的长和宽

接下来我们就要在视口中心画一个十字准心,可以通过“绘制线条”节点来分别绘制一条横线和竖线来表示准心。“绘制线条”节点如下,需要传入线段起始点和终点的坐标,LineColor是线段的颜色,LineThickness表示线条的粗细

通过如下节点,我们就可以绘制出十字准心中的横线线段(起始点与终点的纵坐标不变,横坐标分别在中心点横坐标基础上加减5)

再绘制出竖线线段(起始点与终点的横坐标不变,纵坐标分别在中心点纵坐标基础上加减5)

此时运行游戏可以看到十字准心已经绘制在视口正中心的位置

二、简单的第三人称视角偏移

为了让抓取时从摄像机看到的视角比较直接,这里需要对第三人称角色模板蓝图中的摄像机做一点偏移,打开“BP_Character”

对“FollowCamera”的位置和旋转做一点调整,如下所示

此时运行可以看到摄像机的画面相对于人物向右偏移了一点

还需勾选“使用Pawn控制旋转”

三、基于屏幕正中央的打点与射线

1. 还是先打开“BP_Character”,新建一个图表,这里命名为“物理抓取”

然后添加一个“物理柄组件”

在图表“物理抓取”中添加如下节点,这样当我们点击鼠标后就会从屏幕中心向场景中发出一条射线

四、物理抓取的实现(抓取、放下、丢出)

1. 首先我们创建一个actor蓝图,命名为“BP_Cube”,打开“BP_Cube”,添加一个立方体组件。该蓝图代表可被抓取的物体

一定要勾选模拟物理,并且设置网格体是可移动的

将“BP_Cube”放入场景中,为了区分我们更改材质为红色

2. 打开“BP_Character”,继续添加如下节点

当我们发出射线后,先判断有没有检测到物体,如果检测到了就判断该物体的类型是不是“BP_Cube”(就是我们想抓取的这一类物体),如果是的话获取到Hit Component,

然后我们就可以利用物理柄组件来抓取物体

为了防止抓取的物体撞到玩家自己,我们设置Hit Component忽略所有Pawn的碰撞

在刚开始抓取的时候加一个判断,如果“Hit Component”不是有效的就把他抓起来

 如果是有效的就把物体放下,然后把“Hit Component”置为空

还需添加如下节点,每帧设置物理抓取组件的位置

此时我们已经完成了抓取和放下的功能,效果如下:

此时有个问题是,当拾取的物体碰到其他物体时会产生非常大的旋转,我们可以通过增大网格体的角阻尼来解决这个问题:

接下来制作将物体丢出去的功能,如下图,主要通过添加冲量的方式来向指定方向扔出物体

效果如下:

参考视频:

https://www.bilibili.com/video/BV1cF411u7cf/?spm_id_from=333.999.0.0&vd_source=36a3e35639c44bb339f59760641390a8



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3