`
izuoyan
  • 浏览: 9222915 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PhysX学习笔记(2): 动力学(1)

阅读更多

场景(Scene):

物理模拟发生的场所, 包含了actor, joint, effector. 跟图形引擎里的Scene差不多, 可以有多个实例存在, 互不干涉.

场景没有特别的大小限制. 功能有重力, 射线拣取, 开关硬拼检测等.

模拟时序(Timing):

物理模拟导致物体的一些属性随着时间进行变化, 如位置, 速度等.

模拟每经过一次时间步进进行一次, 通常要与渲染帧数进行同步.

前进(也可以说是更新):

void simulate(NxReal elapsedTime);

elapsedTime会被分成多个时间步进来决定物理模拟进行了多少

时序可以用setTiming设置, decriptor也可. 默认值就能够满足大多数程序的要求了.

固定的时间步进可以确保稳定且可以重现的物理模拟, 需指定NX_TIMESTEP_FIXED.

异步的步进:

PhysX是多线程的, 物理模拟发生在自己的线程里. 状态变化如下:

1) 开始模拟

2) 确保数据已被发送到模拟线程

3) 检测模拟是否完成, 如果是, 更新状态数据缓冲, 并且->

4) 交换状态数据缓冲, 这样结果可以被程序访问, 后台缓冲可以继续参数模拟(就像D3DBackBuffer)

注意fetchResults(NX_RIGID_BODY_FINISHED, true)是一个阻塞调用, 可以用这两种方式代替:

注意: 一些函数对于异步的状态改变不可知, overlapraycasting, 直到simulte()/fetchResult()执行后才可.

外壳宽度(Skin Width):

通俗点说, 就是能两个物体能相互插入多么深….. 因为模拟是以时间步进为单位的, 所以两次步进之间就会产生一个跳变, 这种互相越界的现象不可避免. 于是乎引入这么一个量, 用于保证稳定性.

分享到:
评论

相关推荐

    [PhysX] PhysX 物理建模 学习教程 (英文版)Learning Physics Modeling with PhysX.pdf

    PhysX是NVIDIA开发的一套用于计算机游戏和其他应用程序中物理模拟的硬件加速API,它支持广泛的物理模拟任务,包括碰撞检测、刚体动力学、软体动力学、流体模拟等。 PhysX的物理建模技术被广泛应用于游戏开发、电影...

    Nvidia PhysX 学习文档11:Simulation

    official site: https://gameworksdocs.nvidia.com/PhysX/4.1/documentation/physxguide/Manual/Simulation.html 红色代表需要弄懂的。 Callback Sequence The simplest type of simulation callbacks are the ...

    physx-rs::bowling:通过NVIDIA PhysX进行Rust绑定和包装:crab:

    NVIDIA PhysX是一个实时物理系统,支持各种物理效果,如碰撞检测、刚体动力学、软体模拟等。它被广泛应用于游戏开发,提供真实的物体运动和交互体验。PhysX的高性能源于其优化的多线程处理和硬件加速能力。 2. **...

    OSG + PhysX物理引擎示例代码

    PhysX是NVIDIA公司开发的一个强大的物理引擎,用于模拟真实世界的物理行为,如碰撞检测、刚体动力学等。将OSG与PhysX结合,可以创建出更加逼真的3D环境和交互体验。 在"OSG + PhysX物理引擎示例代码"中,我们可以...

    physx3.2 sdk(2)

    这个SDK提供了丰富的功能,帮助开发者创建逼真的碰撞检测、刚体动力学、柔体模拟等效果。"physx3.2 sdk(2)" 提示这是一个系列学习资料的第二部分,意味着它可能接续了基础概念,深入到更高级的主题。 首先,PhysX ...

    PhysX C#包装库

    1. **刚体动力学**:PhysX支持多种类型的刚体,包括静态、动态和 kinematic。动态刚体可以受力影响而移动,静态刚体则不会受到力的影响,而kinematic刚体则是由开发者直接控制其运动。 2. **碰撞检测**:引擎提供了...

    physx_Box.zip_physx

    PhysX 是 NVIDIA 推出的一款高性能物理模拟引擎,广泛应用于游戏开发和其他实时三维...随着对 PhysX 深入的理解,开发者可以创建更复杂的物理系统,如车辆动力学、布料模拟、流体模拟等,提升游戏的真实感和互动性。

    nVidia Physx SDK 2.8.4

    在游戏开发、虚拟现实应用以及动画渲染等领域,PhysX SDK扮演着至关重要的角色,为开发者提供了一个强大而全面的工具集,用于创建真实世界的碰撞检测、刚体动力学和软体模拟。 首先,我们来深入了解PhysX SDK的核心...

    PhysX SDK Introduction

    1. PhysX概述:PhysX是一个强大的实时物理模拟引擎,支持包括刚体、柔体、流体、布料和力场等多种物理特性。它的独特之处在于其物理加速硬件,包括GPU和PPU,且支持跨平台,例如PC(Windows+Linux)、XBOX、PS3、Wii...

    Physx sdk 3.2.3(1)

    它提供了强大的刚体动力学、软体模拟、碰撞检测以及关节约束等功能,帮助开发者创建更为真实和动态的游戏世界。 在PhysX SDK 3.2.3中,我们可以看到一些显著的改进和新增特性: 1. **性能优化**:PhysX 3.2.3 版本...

    physx3.2 SDK (1)

    PhysX 3.2 SDK 是该引擎的一个版本,它提供了丰富的功能来模拟现实世界中的物理现象,如碰撞检测、刚体动力学、柔体模拟等。这个最新的 SDK 对开发者来说是一个宝贵的学习资源,尽管文件体积较大,但被拆分为多个...

    PhysX-4.1.rar

    1. **刚体动力学**:PhysX 支持动态和静态刚体。动态刚体受力影响,可以移动和旋转;静态刚体则固定在场景中,用于创建不可移动的障碍物。 2. **碰撞检测**:PhysX 提供高效的碰撞检测算法,能够处理多边形、球体、...

    PhysX直接运行DEMO

    PhysX引擎支持多种物理效果,包括刚体动力学、柔体动力学、流体模拟、碰撞检测、关节约束等。在DEMO中,你可以看到这些效果的实际表现,比如物体之间的碰撞、重力影响下的坠落、连锁反应的崩溃效果等。这些直观的...

    ALI213-PhysX

    1. PhysX_9.12.1031_SystemSoftware.msi:这是PhysX系统的安装程序,版本号为9.12.1031。用户可以通过运行这个MSI文件来安装PhysX系统软件。该版本可能包含了对物理模拟的优化和一些修复,以确保与当时的游戏兼容性...

    Learning Physics Modeling with PhysX

    2. **碰撞检测**:学习PhysX如何处理物体之间的碰撞,包括触发器和碰撞组,以及如何编写碰撞回调函数以响应特定的碰撞事件。 3. **关节与约束**:掌握如何使用各种类型的关节(如铰链关节、滑动关节、固定关节等)...

    NVIDIA PhysX VisualDebugger 2.0000.8251.2581

    它提供了丰富的物理模拟功能,如刚体动力学、柔体、流体、碰撞检测和关节约束等。Visual Debugger 2.0000.8251.2581是针对PhysX SDK 2.8.4版本及以下版本的调试器,意味着它可以支持较旧的项目,同时保持与最新技术...

    visual mfc opengl physx c++

    它支持刚体动力学、柔体、流体、碰撞检测和关节等多种物理效果。通过集成PhysX,开发者可以创建出更真实的环境,物体之间可以进行互动,例如碰撞、摩擦、弹跳等。PhysX支持多线程,能够在现代多核处理器上充分利用...

    PhysX: PhysX Visual Debugger (PVD)

    The PhysX Visual Debugger (PVD) provides a graphical view of the PhysX scene and includes various tools to inspect and visualize variables of every PhysX object. Additionally it can also record and ...

Global site tag (gtag.js) - Google Analytics