① 图形引擎和物理引擎有什么区别和联系
游戏开发中的程序开发主要由如下几个方面组成:
1.图形引擎
2.声音引擎
3.物理引擎
4.游戏引擎
5.人工智能或游戏逻辑
6.游戏GUI界面(菜单)
7.游戏开发工具
8.支持局域网对战的网络引擎开发
9.支持互联网对战的网络引擎开发
下面逐一介绍每个部分:
1.图形引擎主要包含游戏中的场景(室内或室外)管理与渲染,角色的动作管理绘制,特效管理与渲染(粒子系统,自然模拟(如水纹,植物等模拟)),光照和材质处理,LOD(Level Object Detail)管理等,另外还有图形数据转换工具开发,这些工具主要用于把美工用DCC软件(如3DS Max,Maya,Soft XSI,Soft Image3D等)软件制作的模型和动作数据以及用Photo shop或painter等工具制作的贴图,转化成游戏程序中用的资源文件。
2.声音引擎主要包含音效(Sound Effect简称SE),语音(VOICE),背景音乐(Background music简称BGM)的播放。SE是指那些在游戏中频繁播放,而且播放时间比较短,但要求能及时无延迟的播放,VOICE是指游戏中的语音或人声,这部分对声音品质要求比较高,基本上用比较高的采样率录制和回放声音,但和SE一样要求能及时无延迟的播放,SE在有的时候因为内存容量的问题,在不影响效果的前提下,可能会降低采样率,但VOICE由于降低采样率对效果影响比较大,所以一般VOICE不采用降低采样率的做法。BGM是指游戏中一长段循环播放(也有不循环,只播放一次)的背景音乐,正是由于BGM的这种特性,一般游戏的背景音乐是读盘(光盘或硬盘)来播放。另外一些高级声音特效,如EAX,数字影院系统(DTS5.1),数字杜比环绕等。
3.物理引擎主要包含游戏世界中的物体之间、物体和场景之间发生碰撞后的力学模拟, 以及发生碰撞后的物体骨骼运动的力学模拟(比较着名的物理引擎有havok公司的game dynamics sdk,还有open source 的ODE—Open Dynamics Engine)。
4.游戏引擎主要是把图形引擎、声音引擎、物理引擎整合起来,主要针对某个游戏制作一个游戏系统,其包含游戏关卡编辑器,主要用途是可以可视化的对场景进行调整,光照效果和雾化等效果调整,事件设置,道具摆放,NPC设置,另外还有角色编辑器,主要用于编辑角色的属性和检查动作数据的正确性。一般日本游戏公司的做法,他们会把关卡编辑器和角色编辑器直接做到游戏中,所有的参数调整都在游戏中通过调试菜单来进行编辑,所以一般他们把这部分调试菜单的功能做的很强大,同时在屏幕上实时的显示一些重要的信息,这样做的好处是关卡编辑器调整的效果直接就是游戏的效果,但是对于程序的重用性来说可能不是很好,比如说要用到另外一个游戏项目中就比较难,除非两个游戏类型相同,只要把场景和角色数据换一下,还有做下一代产品也没有问题,只要根据式样增加调试菜单的功能就可以了。
5.人工智能和游戏逻辑开发,这部分日本和欧美的游戏开发模式也有很大不同,在欧美游戏公司中运用脚本语言开发很普遍,所以这部分程序开发主要是用脚本语言编写,而且脚本程序和游戏程序的耦合性很低,有单独的编辑、编译和调试环境,这样比较利于游戏程序和关卡设计开发分开,同时并行开发,所以一般他们都会有专门做关卡设计的程序员岗位。而日本游戏公司脚本语言一般和游戏的耦合性比较高,一般通过一些语言的宏功能和一些编译器的特定功能来完成一个简单的脚本系统,所以一般这些脚本程序只能在游戏程序中进行调试,而不能在一个单独的脚本编辑,编译环境中进行开发。
6.游戏GUI界面(菜单),主要是指那些游戏中用户界面设计,有做的复杂,有简单的,做的简单就是2D GUI界面,做的复杂有3D GUI界面。
7.游戏开发工具主要包含关卡编辑器,角色编辑器,资源打包管理,DCC软件的插件工具等开发。
8.支持局域网对战的网络引擎开发,主要解决局域网网络发包和延迟处理,通讯同步的问题,有同步通讯和异步通讯两种做法,异步通讯用于那些对运行帧速要求比较高的游戏,同步通讯相对异步通讯来说效率相对低,但是同步通讯的编程模型相对异步通讯来得简单一些。
9.支持互联网对战的网络引擎开发,目前大部分网游都是C/S结构的,服务器端软件配置管理,服务器程序的最优化,还有游戏大厅、组队、游戏逻辑处理、道具管理、收费系统等。另外还有一些网络系统是C/S和P2P两种结构混合的,如XBOX Live等.
② 一个游戏的物理引擎到底是什么有什么用
物理引擎通过为刚性物体赋予真实的物理属性的方式来计算运动、旋转和碰撞反映。为每个游戏使用物理引擎并不是完全必要的—简单的“牛顿”物理(比如加速和减速)也可以在一定程度上通过编程或编写脚本来实现。然而,当游戏需要比较复杂的物体碰撞、滚动、滑动或者弹跳的时候(比如赛车类游戏或者保龄球游戏),通过编程的方法就比较困难了。
③ 物理引擎 与游戏引擎 有什么区别
简单点来讲“物理引擎”并不是指那些实实在在的物理效果,而是模拟真实世界中各种物体运动的规律来运动,以提供一种比较真实的效果。
“游戏引擎”说白了就是游戏软件的主程序。是指一些已编写好的可编辑游戏系统或者一些互交式实时图像应用程序的核心组件。
④ 物理引擎和虚拟引擎是什么东西
为每个游戏使用物理引擎并不是完全必要的——简单的“牛顿”物理(比如加速和减速)也可以在一定程度上通过编程或编写脚本来实现。然而,当游戏需要比较复杂的物体碰撞、滚动、滑动或者弹跳的时候(比如赛车类游戏或者保龄球游戏),通过编程的方法就比较困难了。物理引擎使用对象属性(动量、扭矩或者弹性)来模拟刚体行为,这不仅可以得到更加真实的结果,对于开发人员来说也比编写行为脚本要更加容易掌握。 好的物理引擎允许有复杂的机械装置,像球形关节、轮子、气缸或者铰链。有些也支持非刚性体的物理属性,比如流体。 物理引擎可以从另外的厂商购买,而一些游戏开发系统具备完整的物理引擎。
⑤ 引擎是什么
引擎 yǐnqíng 【英】engine引擎是发动机的核心部分,因此习惯上也常用引擎指发动机。引擎的主要部件是气缸,也是整个汽车的动力源泉。严格意义上世界上最早的引擎由一位英国科学家在公元一六八零年发明。在游戏的编写中,引擎指用于控制所有游戏功能的主程序。另有名为《引擎》的日剧。
有人把引擎称为发动机,其实,发动机是一整套动力输出设备,包括变速齿轮、引擎和传动轴等等,可见引擎只是整个发动机的一个部分,但却是整个发动机的核心部分,因此把引擎称为发动机也不为过。
对于引擎,大家都应该不陌生,引擎的主要部分就是汽缸,这里就是整个汽车的动力源泉。汽缸的工作原理我在这里简单介绍一下,汽缸包括缸体、进气孔、输油孔、出气孔、活塞和火花塞(汽油机)。汽缸通过进气孔和输油孔注入汽油和空气,在汽缸内充分混合,当火花塞点燃混合物后,混合物猛烈地爆炸燃烧,推动活塞向下运动,并产生动力。同时,爆炸气巨大的压力还推开单向阀的出气孔,排出废气。而后,汽缸内残余废气逐渐变冷,气压变低,汽缸外部的大气压又推动活塞向上运动,以准备进行下一次爆炸。这就是简单的原理。现也用作IT方面的术语,指经包装过的函数库,方便别人调用,如搜索引擎、图形引擎、物理引擎等。
⑥ Bullet 物理引擎是什么
Bullet 是一个开源的第三方 物理引擎lib
可以通过下载源文件
或者SDK版本来使用
官方网址是
http://www.bulletphysics.com/
官方网站有子弹的英文手册 上面有使用的详细说明
⑦ js物理引擎有那些各有什么特点
要看题主的需求了。如果需要很多力学模拟可以看下box2d-js,如果是准备做一些需要光学渲染的3D的动画或者游戏的话推荐three.js 文档很全,demo也很多。
⑧ 3D物理引擎与2D物理引擎使用时的 不同碰撞函数的调用有什么不一样
3D物理引擎多了一个维度。
2D和3D物理引擎两者在使用上大体相似,主要区别是3D物理引擎比2D物理引擎多了一个维度。物理引擎是游戏设计中最为重要的步骤,主要包含刚体、碰撞、物理材质以及关节运动等。
游戏中物理引擎的作用是模拟当有外力作用到对象上时对象间的相互影响,比如赛车游戏中,驾驶员驾驶赛车和墙体发生碰撞,进而出现被反弹的效果。物理引擎在这里用来模拟真实的碰撞后效果。通过物理引擎,实现这些物体之间相互影响的效果是相当简单的。
⑨ 物理引擎的作用是什么呢
物理引擎通过为刚性物体赋予真实的物理属性的方式来计算运动、旋转和碰撞反映。为每个游戏使用物理引擎并不是完全必要的—简单的“牛顿”物理(比如加速和减速)也可以在一定程度上通过编程或编写脚本来实现。然而,当游戏需要比较复杂的物体碰撞、滚动、滑动或者弹跳的时候(比如赛车类游戏或者保龄球游戏),通过编程的方法就比较困难了。物理引擎使用对象属性(动量、扭矩或者弹性)来模拟刚体行为,这不仅可以得到更加真实的结果,对于开发人员来说也比编写行为脚本要更加容易掌握。好的物理引擎允许有复杂的机械装置,像球形关节、轮子、气缸或者铰链。有些也支持非刚性体的物理属性,比如流体。物理引擎可以从另外的厂商购买,而一些游戏开发系统具备完整的物理引擎。但是要注意,虽然有的系统在其特性列表中说他们有物理引擎,但其实是一些简单的加速和碰撞检测属性而已。当NVIDIA宣布正式收购Ageia及该公司的PhysX物理软硬件组件后,所有人都在期待,期待着NVIDIA会推出新的有关物理运算的东西出来。果不其然,如今当NVIDIA发布Forceware 177.79驱动后,意味着GeForce8/9和GT200系列的GPU都支持PhysX引擎。这是因为NVIDIA将PhysX引擎集成到CUDA架构的物理运算中。这样,显卡就能自动进行物理加速运算。当然,PhysX在游戏上的运用仅仅是物理引擎众多运用的一方面,在整个CUDA通用运算领域上,都会有物理引擎的身影,比如计算天体间在相互引力的作用下,各自的运动轨迹等。
此次在GDC09上展示的Havok物理引擎包括了三个场景,分别为爆破、布料和AI计算。演示平台使用了i7 965至尊版处理器搭配HD4870X2显卡,运行效果比较流畅。不过唯一让人感到稍稍惊讶的是,Havok物理引擎并非是专门针对ATI显卡而设计,它能够支持OpenCL架构(布料演示DEMO就是基于OpenCL架构开发的),也就是说NVIDIA的GeForce 8以上级别显卡也很有可能能够支持Havok物理引擎。