NavMesh,MovementComponent,PathFollowingComponent的关系

NavMesh是基于Recast Navigation的导航网格,用于寻路算法。MovementComponent处理Actor的移动和旋转,其子类如CharacterMovementComponent支持复杂场景。PathFollowingComponent负责寻路,与MovementComponent配合使角色沿预设路径移动。UPathFollowingComponent适用于单一角色,UCrowdFollowingComponent处理多角色避让。MoveTo命令会生成路径并由PathFollowingComponent调用MovementComponent完成移动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
 

NavMesh

NavMesh是导航网格,底层基于Recast Navigation,所以实际上是对Recast的NavMesh的封装。

NavMesh里面包含很多个凸多边形,导航网格的构建主要是产生这些多边形的过程,寻路算法使用这些多边形进行寻路。

MovementComponent

MovementComponent是移动组件,根据输入向量负责对Actor进行变换,比如移动或者旋转Actor。输入可以来自玩家输入,也可以来自其他地方。

MovementComponent有多个子类,比如PawnMovementComponent,CharacterMovementComponent,WheeledVehicleMovementComponent,ProjectileMovementComponent等等。

在这些子类中,CharacterMovementComponent是最完善和最复杂的,支持网络同步和预测,支持多种移动模式,支持动画和碰撞等等,单个文件代码多达10000多行。由于在内部处理的东西较多,在有多个Character的情况下,CharacterMovementComponent组件经常会占用较多的CPU时间。

PathFollowingComponent

PathFollowingComponent是寻路组件,负责寻路,通过向MovementComponent输入移动向量,沿着预设路线移动到目的地。

PathFollowingComponent在UE4中有两个主要的实现UPathFollowingComponent和UCrowdFollowingComp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值