PhysX学习笔记(1): 基础

本文介绍了物理引擎中各类简单形状如AABB、OBB、胶囊等的基本概念,并详细解析了刚体变换、方位、旋转矩阵等关键参数的含义及用途。此外还涉及SDK初始化流程、对象实例创建方式及用户自定义数据的存储方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单形状

l NxBound3: AABB

l NxBox: OBB

l NxCapsule: 胶囊(线段+距离)

l NxPlane

l NxRay

l NxSegment: 线段

l NxSphere

SDK 初始化:

D3D差不多, 直接NxCreatePhysicsSDKOK. 释放时不能delete, 因为那是DLL内部的对象, 只能release(). 多次创建返回的都是同一实例, 因为内部为单件实现.

对象实例:

一般都通过接口的create*(), 参数都用description类封装成一个. 注意返回值自己验证合法性. 释放时只能是谁创建了它谁释放, 不能自己释放自己. Down casting通过isXXX()这样的函数返回指针, 一个函数两用….

用户自定义数据:

物理对象都有一个公有的userData(void*类型)可以用来保存自定义数据. 另外, 每个物理对象都可以设置一个名字(const char*)做为标识. 可惜都是指针这个地方极有可能变成野指针, 看来需要利用N3Atom<T>.

状态保存:

通过对象的saveToDesc()/loadFromDesc()来保存/还原

参量:

l rigid body transform: 刚体变换

l position vector: 方位

l rotation matrix: 旋转矩阵(行列式必须为1)

l unit quaternion: 单位四元数, 表示旋转量

l direction/extents vector: 偏移/方向

l force vector: 力向量

l torque vector: 力矩

l velocity vector: 速度

l angular velocity vector: 角速度

l momentum vector: 动量

l angular momentum vector: 角动量

工具函数:

NxUtilLib

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值