从PhysX2.8升级到PhysX3.2(6)

本文主要介绍了PhysX从2.8升级到3.2的一些杂项改动,包括Compartment的移除、连续碰撞检测(CCD)的简化、Pose描述的改变以及Shape对象的调整。在3.2中,Compartment被废弃,CCD开启变得更简单,Pose使用PxTransform和四元数描述,Shape创建改为使用PxGeometry。这些改动旨在提高性能和简化代码。
摘要由CSDN通过智能技术生成

之前的小节中,我们主要介绍的是从PhysX2.8到3.2一些较大的方面的改动,比如架构,对象管理模型,模拟时间和碰撞过滤,以及场景查询等,除了这些主要的改变之外,还有一些比较杂项的改动。因此,这一篇中,我就集中为大家介绍这些杂项的改动。

 

首先,看Compartment。

在2.8中,PhysX SDK提供了NxCompartment这个对象,让我们对场景中的物体能有更多的控制。简单点说,一个Compartment就相当于场景NxScene的一个子scene,可以有单独的模拟控制,Compartment之中的物体可以跟主NxScene中的物体交互,也可以不交互,因此在很多时候我们希望单独控制一些物体的时候比较有用,比如在GPU上模拟的布料和粒子都放到单独的Compartment中去控制模拟,可以在尽量节省性能的情况下得到不错的视觉效果。但是由于实现起来的复杂度很高,因为SDK需要尽可能保证主Scene和Compartment这两个世界中物体的同步,即便是有些在CPU模拟,有些在GPU模拟的情形,所以也是一个问题相对较多的模块。并且有些时候,保持同步是基本是不可能的,所以在3.2中,PhysX SDK选择了放弃Compartment,所有的模拟特性都在主Scene中模拟。

因此,如果你的游戏中用到了Compartment,那么就需要考虑把他们去掉,仔细分析需求,看如何在3.2中实现。

 

然后,我们看连续碰撞检测, CCD。

如果你有使用2.8中CCD的经历,那么你应该跟很多人一样会有两个感受:是的,它真的工作,可以防止物体的穿透࿱

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值