虚幻引擎5发射物组件

  虚幻引擎5中的发射物组件通常是用来模拟子弹,炮弹等物品当然任何东西都可以成为发射物。

我通常用的是发射物移动组件:

     ProjectileMovement(发射物移动组件)支持受到影响后反弹或想目标前进等行为,通常拥有actor的根组件被移动,然而另一个组件可能被选中,如更新的组件正在模拟物理,只有初始速度为非零时将影响发射物,物理模拟就是在这个时候开始。

首先我们做一个简单的模拟子弹发射,首先在内容侧滑栏的空白区域新建一个actor类型的蓝图,名字就叫子弹,然后在里面创建一个球的静态网格体大小调小一点然后创建一个球形的球体碰撞,

所谓球体碰撞通常用于简单碰撞的球体.边界在编辑器中被渲染为线条,添加ProjectileMovement(发射物移动组件),最后将球形碰撞作为球形静态网格体的子类

在ProjectileMovement(发射物移动组件)中的细节栏中找到抛射物中的初始速度,调整到你预想到的速度。

在事件图表中调用函数事件命中,随后按通道进行球体追踪

将命中的位置同时设置为按通道进行球体追踪的开始与结束,在按通道进行球体追踪中Radius设置为5代表他追踪的大小范围,在Trace Channel需要我们自己自定义碰撞

在虚幻引擎上面编辑中打开项目设置,在引擎栏中找到碰撞

在Trace Channels中新建检测通道自定义命名后默认响应选择Block(阻挡)这样就设置好了

中断命中结果并且将Return Value拖到分支做判断是否命中在中断命中结果中将命中的actor拖出来做判断看看他是否有用标签,标签需要到你actor中的蓝图中打个比方

选中组件中最上面的actor在细节蓝中搜索tag在搜到的actor栏下面添加标签即可检测到

随后就可以根据你击中后获得的标签来做出对应的事件。

现在我们到我们控制的角色这里绑定一个输入为鼠标左键

单机鼠标左键之后我们根据玩家的视角向前射一条直线

首先获取玩家摄像机管理器,获取摄像机的位置作为按通道进行线条追踪的开始位置,随后获取摄像机旋转来确定他射出去的方向(玩家看向哪里就射哪里)随后获取向前向量乘以200000这是他射出去的距离然后与获取摄像机位置相加得出按通道进行线条追踪的end结尾,Trace Channel设为子弹命中

随后我们中断命中结果将命中的位置(location)和命中结束的位置(Trace End),在后面搞一个选择函数右键Index修改引脚类型为布尔将Location连为真Trace End连为False将Return Value连到寻找查看旋转中Target中

上面把我们要发射子弹对应的骨骼拖出来获取插槽变换将你要发射子弹的位置绑定骨骼这里我新建了一个插槽

复制这个名字输入到获取插槽变换的In Socket Name之中将他的Return Value Location分别连到寻找查看旋转和生成Actor中.

在按通道进行线条追踪之后右击空白地方输入从类生成Actor与他相连在其中的Class中选中我们之前创建的子弹他的名字就会变成生成Actor子弹,分别将获取插槽变换和寻找查看旋转连到生成Actor子弹的对应的位置即可。

虚幻引擎中,可以使用射线(Ray)来进行物体之间的交互、碰撞检测等操作。要在蓝图中模拟发射射线,可以使用“Line Trace”节点。 具体操作步骤如下: 1. 在蓝图编辑器中,选择需要添加射线的蓝图,并右键点击图表空白处,选择“Add Component” -> “Scene Component”添加一个Scene Component组件。 2. 选中Scene Component组件,然后在Details面板中将Collision属性设置为“Query and Physics”。 3. 在蓝图编辑器中,右键点击图表空白处,选择“Add Component” -> “Camera”添加一个相机组件。 4. 在蓝图编辑器中,右键点击图表空白处,选择“Add Event” -> “InputAction”添加一个输入事件。 5. 连接输入事件节点到一个“Line Trace”节点,然后将“Line Trace”节点的“Start”参数设置为相机的位置,将“End”参数设置为相机朝向的方向并乘以一个射线长度。 6. 在蓝图编辑器中,添加一个“Draw Debug Line”节点,将“Line Trace”节点的“Hit Location”参数连接到“Draw Debug Line”节点的“Start”参数,将“Line Trace”节点的“End”参数连接到“Draw Debug Line”节点的“End”参数。 7. 最后,将“Draw Debug Line”节点的“Duration”参数设置为一个较小的值,这样可以在绘制完射线后,自动移除绘制。 通过以上步骤,就可以在蓝图中模拟发射射线的效果了。当玩家按下输入事件时,相机会发射一条射线,检测是否与其它物体相交,并在屏幕上绘制出射线的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值