虚幻引擎5 C++编程学习6

一、碰撞通道

先复制一个相同的小球和一块地板来进行操作。

 

先将碰撞预设修改成custom。

碰撞类型有如下几种

(查询就是上一篇中sweep的内容,仅仅发生在程序代码中,不会实际作用在游戏里,而物理碰撞就是游戏中常见的碰撞,一般都是把查询和物理都开启) 

可以看到碰撞配置表

忽略就是完全不管,重叠是可以识别到物体重叠但是并不会进行阻挡,阻挡是会阻挡住物体。

这个配置表就是和第二项物体类型配合的,比如我想要实现一个小球可以通过一个小球被阻挡,那么只需要将一个小球设为其中一个类型,另一个小球设置为不同的类型,将一个小球的类型进行重叠或者忽略就行了。

(比如我把小球2设置成vehicle

将墙壁对于vehicle设置为忽略。

就做到了一个小球能通过而另一个小球会被阻挡。

 

一个阻挡一个通过。 

或者反过来,让小球忽略掉墙壁的类型

墙壁 是worldStatic类型。

小球忽略掉worldstatic类型的碰撞。

也能做到 

二、击中信息

 

 每一帧的帧函数中的第三个参数FHitResult类型就是存储击中信息的。

创建一个FHitResult类型的参数,接受击中信息,然后再使用UE_LOG来输出。

代码如下:

FHitResult HitResult;
	if (bShouldMove)
	{
		AddActorLocalOffset(TickLocationOffset, true, &HitResult);
		UE_LOG(LogTemp, Warning, TEXT("X: %f,Y: %f,Z: %f"), HitResult.Location.X, HitResult.Location.Y, HitResult.Location.Z);
	}

编译完成后查看日志

一行0和一行(0,326.037364,0)

其中0的一行是忽略碰撞的小球的信息,因为没有碰撞所以碰撞信息是000,而另一个是小球碰撞的坐标。 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值