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

PhysX学习笔记(1): 基础

阅读更多

简单形状

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

分享到:
评论

相关推荐

    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:

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

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

    本教程是关于如何使用PhysX物理引擎进行物理建模的学习资源。PhysX是NVIDIA开发的一套用于计算机游戏和其他应用程序中物理模拟的硬件加速API,它支持广泛的物理模拟任务,包括碰撞检测、刚体动力学、软体动力学、...

    OSG + PhysX物理引擎示例代码

    1. **OpenSceneGraph基础**:OSG提供了丰富的场景图模型,包括节点、几何形状、纹理、光照等元素。开发者可以利用这些元素构建复杂的3D场景,并通过图形API(如OpenGL)进行渲染。OSG还支持脚本语言和动画系统,便于...

    PhysX SDK Introduction

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

    ALI213-PhysX

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

    physx_Box.zip_physx

    通过分析这个简单的示例,初学者可以快速掌握 PhysX 的基本用法,为进一步深入学习和应用 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 ...

    physx3.2手册

    1. **物理基础知识**:介绍了物理学中的基本概念,如力、速度、加速度和碰撞检测,这些都是PhysX引擎的基础。 2. **PhysX架构**:解析了PhysX系统的核心组件,如模拟器、场景、形状、刚体和关节,以及它们之间的关系...

    nVidia Physx SDK 2.8.4

    因此,熟悉2.8.4版本的PhysX SDK对于维护现有项目或学习基础物理模拟技术仍然十分有价值。 在实际应用中,开发者需要熟练掌握如何创建和配置物理对象,如何设置碰撞材质和接触响应,以及如何利用PhysX提供的高级...

    physx3.2 SDK (1)

    通过深入学习 PhysX 3.2 SDK,你可以掌握如何在游戏或其他实时应用中实现逼真的物理效果。无论是创建复杂的机械装置、设计动态的环境交互,还是优化物理性能,这个 SDK 都提供了必要的工具和技术。随着对 PhysX 的...

    Learning Physics Modeling with PhysX

    通过学习《Physics Modeling with PhysX》,你不仅能掌握PhysX的基本用法,还能逐步提升对物理模拟的理解,为创建更加逼真的虚拟环境打下坚实基础。无论你是游戏开发者、视觉特效艺术家还是对物理模拟有兴趣的爱好者...

    Physx sdk 3.2.3(1)

    1. **性能优化**:PhysX 3.2.3 版本继续致力于提升模拟速度,通过优化算法和内存管理,使得在复杂的物理环境中运行更流畅,减少了计算开销。 2. **更精细的碰撞检测**:更新的碰撞几何模型支持更复杂的形状组合,如...

    PhysX C#包装库

    这个包装库使得C#程序员可以方便地在.NET环境中利用PhysX的强大功能,而无需深入学习底层的C++接口。 首先,让我们详细了解一下PhysX引擎的核心特性: 1. **刚体动力学**:PhysX支持多种类型的刚体,包括静态、...

    physx-app:享受 C++DirectX11PhysX 带来的乐趣

    x86.lib PhysX3Common_x86.lib PhysX3Cooking_x86.lib PhysX3Extensions.lib PhysX3CharacterKinematic_xTask.lib3dlibd1xTask.libd1dlibxTask.lib3.libd.x86.lib PhysX3_x86.lib PhysX3Common_x86.lib ...

    PhysX_9.10.0513

    1. **实时物理计算**:PhysX 可以处理复杂的物理交互,为游戏带来更加真实的环境和物体行为,如布料飘动、水波纹、车辆翻滚等。 2. **多平台支持**:PhysX 支持多种操作系统,包括 Windows、Linux 和 PlayStation ...

    Physx3.3 source code

    1. **基础架构**: PhysX 采用 C++ 编写,源代码包含了多个模块,如几何处理、碰撞检测、刚体动力学、约束求解等。这些模块共同构成了 PhysX 的核心功能,让开发者能够构建复杂的物理系统。 2. **几何对象**: - ...

    PhysX物理引擎实例

    在提供的压缩包文件"Game"中,可能包含了源代码、资源文件以及编译设置,供学习者研究和实践如何将PhysX引擎与DirectX 9结合使用。通过分析和运行这些示例代码,开发者可以深入理解PhysX引擎的工作原理,并将其应用...

    visual mfc opengl physx c++

    标题 "visual mfc opengl physx c++" 描述了一个基于Microsoft Foundation Classes (MFC)、OpenGL图形库和NVIDIA的PhysX物理引擎的C++项目。这个项目旨在展示如何在Visual C++环境下,整合这三种技术来创建一个3D...

Global site tag (gtag.js) - Google Analytics