:: 相对折叠空间/讨论游戏/软件设计.技术 ::
经验笔记 [ 原创 - by T.T ]
在之前ODE的实践中发现了物理系统中的很多问题,所以在经过修改后加入了PHYS-X的支持。本身PHYS-X新的免费授权已经放出,可以安心的使用SDK了!基本流程:01. 初始化 NX 相关, NX PHYSIC SDK ,NX SCENE02. 初始化 COOK 系统03. 设置 PHYSIC SDK 相关参数04. 检查是否支持硬件05. 设置相关材质06. 创建物理相关实体07. 开始主循环08. 计算物理运算结果 / FETCH ( 上一帧 )09. 模拟当前帧物理信息 ( gScene->simulate , gScene->flushStream )10. 将物理实体坐标以及相关信息传递到渲染物体中( 将渲染物体坐标以及相关信息传递给物理实体 ) 11. 转到 07 -> 继续循环12. so on && 结束接触点回调:1. 设置 用户自定义接触碰撞回调类来检测碰撞 并在发生碰撞时调用自定义回调。2. 需要从NxUserContactReport继承,并实现相应的接口,实现 PHYS-X 控制管理类,提供2次开发碰撞回调接口。运动方式:1. 不能使用直接设置 POS 的方式,这种会导致移动发生问题,需要设置加速度或者速度来运动2. 使用添加力的方式会有质量和体积的问题,因为 F = M * A,也就是质量 * 加速度,而质量和体积相关模型导出的时候物体的坐标规范如果没有在 -4000~+4000之内会导致体积巨大,即使密度很小也会产生很大的质量,那需要相当大的力来推物体。所以直接设置速度和加速等方式来控制运动。按照 PHYSX 文档的介绍,动态非动态皮肤物体需要使用凸多边形网格:
posted on 2008-02-10 21:14 Updraft Studio 阅读(939) 评论(0) 编辑 收藏 引用
Powered by: IT博客 Copyright © Updraft Studio