在 Unreal Engine 5 中制作类似《鬼泣5》这样的游戏时,角色在空中无法落地的问题可能由多种原因引起。

系列文章目录

文章目录

前言

在 Unreal Engine 5 中制作类似《鬼泣5》这样的游戏时,角色在空中无法落地的问题可能由多种原因引起。

一、实现步骤

  1. 角色碰撞设置
    确保角色的碰撞组件(如胶囊体或自定义碰撞体)设置正确,并且启用了"Generate Hit Events"选项。这可以确保角色在接触地面时能够触发相应的事件。
  2. 物理材质和摩擦
    检查地面的物理材质设置,确保摩擦系数足够高,以便角色能够停下来并站立。如果摩擦系数过低,角色可能会滑行而不是停下来。
  3. 跳跃逻辑
    查看跳跃逻辑,确保在角色跳跃时正确地应用了重力和速度。可能需要调整跳跃的初始速度和重力加速度。
  4. 角色控制器
    确保角色控制器(Character Movement Component)设置正确,特别是"Fall"和"Jump"相关的参数。例如,检查"Jump Z Velocity"是否设置为合适的值。
  5. 蓝图逻辑
    从你提供的蓝图来看,可能需要检查以下几点:
    确保在角色接触地面时,能够正确地触发"Landing"事件。
    检查是否有逻辑阻止角色在接触地面时重置其状态(例如,某些条件可能导致角色持续处于"Jump"状态)。
  6. 调试
    使用 Unreal Engine 的调试工具来跟踪角色的状态和位置。可以在角色接触地面时打印日志信息,查看角色的速度、位置和碰撞状态。
    示例修复步骤
    检查碰撞组件:
    确保角色的碰撞组件(如胶囊体)启用了"Generate Hit Events"。
    确保地面也有适当的碰撞组件。
    调整物理材质:
    确保地面的物理材质具有足够的摩擦系数。
    检查跳跃逻辑:
    确保跳跃时应用了正确的重力和速度。
    在角色控制器中检查"Jump Z Velocity"设置。
    调试蓝图:
    在角色接触地面时添加调试信息,查看角色的状态和位置。
    确保在角色接触地面时能够正确地触发"Landing"事件。

二、涉及到的蓝图



把上面的NOT节点改成OR节点,角色就能正常落地了

三、如何把敌人击飞到空中



相关推荐
zhangzhangkeji7 天前
UE5 C++(71):文件是否存在,文件夹是否存在,FPaths :: FileExists( const FString & InPath) ;
ue5
妙为7 天前
UE5角色穿过石头穿模
ue5·unreal engine5·角色穿越石头·穿模
技术策划Boring8 天前
2025年工作复盘:开放世界3A项目配置管线与性能监控的探索
游戏·ue5·虚幻·p4·perforce
zhangzhangkeji10 天前
UE5 C++(70-2):定义成员函数 getCleanDirectory(..) 和枚举类 EFileDirectoryType,来获得目录
ue5
avi911111 天前
UE4-UE5虚幻引擎-前置学习三,优化,基础CPP
ue5·ue4·游戏开发·虚幻·游戏优化·游戏代码
zhangzhangkeji11 天前
UE5线程进阶(3-2):任务图的相关源码整理。 FGraphEvent 与 TGraphTask 的区别和联系
ue5
zhangzhangkeji13 天前
UE5线程进阶(3-1):
ue5
zhangzhangkeji13 天前
UE5线程进阶(2-3):enum ENamedThreads命名空间 :: Type : int32 { RHIThread = 0 } 是渲染硬件接口线程
ue5
zhangzhangkeji14 天前
UE5线程进阶(2-1):枚举类EAsyncExecution,作业类TAsyncRunnable、TAsyncQueuedWork,及全局线程函数 Async(..),及线程调用的 4 种方法总结
ue5
zhangzhangkeji15 天前
UE5线程进阶(1):
ue5