前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PhysX学习笔记(1): 基础

PhysX学习笔记(1): 基础

作者头像
逍遥剑客
发布2018-05-23 13:37:04
1.1K0
发布2018-05-23 13:37:04
举报

简单形状

  • NxBound3: AABB
  • NxBox: OBB
  • NxCapsule: 胶囊(线段+距离)
  • NxPlane
  • NxRay
  • NxSegment: 线段
  • NxSphere

SDK 初始化:

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

对象实例:

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

用户自定义数据:

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2009年07月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档