ue4 4.18NPC碰撞检测的一些问题

制作RPG游戏的时候,在玩家与NPC交互时,需要给NPC添加一个碰撞盒。在UE4中创建派生自Character的NPC类,在头文件中定义一个BoxComponent作为NPC的碰撞组件,至于其他的成员这里就不提了,然后添加BeginOverlap和EndOverlap方法(需要使用UPROPERTY()宏)。在Cpp的构造函数中实例化BoxComponent,设置一些参数(大小、绑定组件什么的),再给这个碰撞组件添加OnComponentBeginOverlap和OnComponentEndOverlap的绑定(AddDynamic),在BeginOverlap和EndOverlap中判断OtherActor以及Controller进行输出一个String。在UE4中基于这个类来创建蓝图类,设置骨架、动画。确保BoxComponent的Generate Overlap Event单选框选上。将这个蓝图直接拖动到场景中,点击Play,可以按~输入Show Collision命令来显示碰撞体。这样就实现了角色进入BoxComponent输出BeginOverlap打印的String,出去的时候输出EndOverlap打印的String。

注意,在这个过程中可能会出现以下几个问题:

1.在4.18版本的BeginOverlap和EndOverlap函数参数和之前版本(也不清楚是4.几)有出入,参数列表开头要加上class UPrimitiveComponent* OverlapComp。否则,就会报OnComponentBeginOverlap.AddDynamic 的编译错误【UE4】

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值