3DMAX到DX坐标系的转换公式

  使用PHYSX物理引擎大概有几年了,最近发现一BUG,convex物理实体跟引擎模型对应不上(很惭愧,才发现)。

  Physx物理引擎有3DMAX的物理插件,能做刚体。。。还经常出BUG,就不吐槽了,但还是忍不住说一句,烂得一逼,

尤其是布娃娃插件,坑了我一年多,前阵子痛定思痛,和同事做了布娃娃插件。这插件设计上是支持刚体和关节的,但目前

不够完美,刚体制作只能依靠PHYSX的官方插件。

  3DMAX的坐标系是右手Z-UP,DX是左手Y-UP。

  顶点转换:YZ交换。 (顶点位置)

  四元数:YZ交换,W取反。(模型的旋转矩阵以及偏移旋转矩阵)

  在这特别说明下,对于旋转矩阵来说,它的转换是2、3行交换,第一行取反(如果我没记错的话)。之所以不用矩阵,

原因有二,一是用矩阵推导这个关系颇为难理解,而四元数的转换很好理解。二是因为PHYSX物理实体的位置设置是用四元数

PxQuat和位置PxVec3,无法设置缩放系数,仅仅从外部对物理刚体旋转90度无法解决这一问题,仔细想想便可理解这一点。

  测试了十几个刚体,暂未发现问题。如果发现问题,之后会更新。

  

 

转载于:https://www.cnblogs.com/niudun/p/7490324.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值