physx物理引擎入门教程

physx物理引擎入门教程

ID:9849308

大小:70.50 KB

页数:7页

时间:2018-05-12

physx物理引擎入门教程_第1页
physx物理引擎入门教程_第2页
physx物理引擎入门教程_第3页
physx物理引擎入门教程_第4页
physx物理引擎入门教程_第5页
资源描述:

《physx物理引擎入门教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、PhysX物理引擎(入门教程)——PhysX,HelloWorld!http://dev.gameres.com/Program/Abstract/Arithmetic/Physx.mhtAuthor:huawenguang版权所有E-MAIL:huawenguang@sina.comDATE:06/7/20Hi,大家好,好久没有写过东西了.最近在研究物理引擎,在网上搜索了一下,发现相关的技术文章特别少,于是我心血来潮,决定给有兴趣向这方面发展的朋友写一篇入门教程,希望有所帮助。如果你是一名超级游戏爱好者,那想必你会听说过PPU。要是你不知道

2、什么是PPU,那也不要紧,但至少你要知道什么是“物理加速卡”。Ageia是PhysX物理芯片的开发商,一家名不见经传的公司,成为敢吃螃蟹的第一人。说不定不久的将来,我们的计算机里会出现CPU,GPU,PPU三足鼎立的局面,而物理编程,也将成为游戏程序员的必修课程。一、安装在国际上,出名的物理引擎有Havok,Vortex,ODE,Novodex,Takamak等等,其中ode是一个免费开源的物理引擎,而Novodex就是PhysX的前身,被Ageia收购之后,改名为PhysX,是一个可以免费用于非商品用途的引擎。在这里选用PhysX来作为入门

3、教程,主要是因为,它的帮助比较丰富,而且开发包可以免费获得。关于PhysXsdk的安装.首先要进入http://support.ageia.com下载SDK,网站http://support.ageia.com下載安裝文件.請注意的是Ageia的SDK只对注册用户开放下载。注册是免费的,但好像要经过审核才会开通,不过一般都会通过的。我注册的时候好像是第二天才收到开通邮件。有两个安装文件是必须下载的SystemSoftware.exe和PhysX2.3.3SDKCore.exe前一个是底层驱动,后一个是程序内核,最新的SDK是2.4.1,但是只

4、针对商业客户开放。对于初学者来说,最好把PhysX2.3.3SDKTrainingPragrams.exe也一起下载,里面包含了从初级到高级的一系列教程,对学习这个引擎很有帮助。把所有东西下载下来之后,接着是安装了,安装很简单,一路next下去就可以了,但是为了让VC中设置方便一点,建设把PhysX2.3.3SDKCore.exe的安装路径改短一点,例如我的就是安装在D:PhysX中。安装好了之后,后开始对VC编译环境进行设置。首先,在Tools→Options→Directories→InclundFik中加入以下目录.D:PhysX

5、SDKSPhysicsincludeD:PhysXSDKSFounddationincludeD:PhysXSDKSPhysXLoaderinclude然后在…àLibraryFiks中加入以下目录:D:PhysXsdksLIBWin32以上用到的“D:PhysX”指的是sdk安装目录,以你机器中的安装路径为准,本教程的示例程序用到了opengl和glut作为渲染引擎,你的计算机如何没有安装glut库,那也请先到www.opengl.org上www.opengl.org下载一个安装上去。在这里就不打算深入讨论gl

6、ut了,没有基础的朋友可以先自学一下。二.、PhysX概述首先来介绍一下PhysX编程的几个术语以及它们之间的相互联系。1.Scene场景:就像演员表演都需要一个舞台一样,PhysX的所有物理运动都在这个scene中进行。2.Actor角色:在场景中,所有参与运算的实体都是一个角色或许我这样表达不是很正确,大家慢慢体会吧!3.bosy刚体:用来记录物体之间世界交互的各种系数,如速度,阻尼等.4.shape形状:描述和表达某一角色的外形,PhysX中提供4种基本形状,盒子,球,胶囊以及平面。从上面图可以看到,PhysX编程其实很简单,首先,定义

7、各种不同的角色(actor),然后指定每个角色的形状(shape)属性和刚体(body)属性,最后是把这些角色都加入到场景(scene)空间中去,这样就可以构造出一个完整的物理世界。下面我将详细描述编程的步骤.三.编程实现1.创建scene,NxsceDescsceneDesc:SceneDesc.grauity=gDefaultGravity;//指定重力加速度(-9.81f)SceneDesc.broadphase=NX_BROADPHASE_COHERENT;SceneDesc.collisionDetection=true;//是否开

8、启碰撞检测Gscene=gPhysicsSDK→createScene(sceneDesc);首先我们要创建一个场景的描述(Descriptor),PhysXSDK

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。