图形引擎和物理引擎有什么区别和联系
游戏开发中的程序开发主要由如下几个方面组成: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等.
物理引擎好的游戏
简单点来讲“物理引擎”并不是指那些实实在在的物理效果,而是模拟真实世界中各种物体运动的规律来运动,以提供一种比较真实的效果。
“游戏引擎”说白了就是游戏软件的主程序。
是指一些已编写好的可编辑游戏系统或者一些互交式实时图像应用程序的核心组件。
...
物理引擎是什么意思?
那个是计算机术语电子游戏里面会有很多的画面,比如你说的使命召唤,会有很多人拿着枪互相射击的画面。
这些画面如果需要显示出来,需要进行物理运算和贴图运算。
物理运算的内容包括子弹的弹道,人物的动作,尘土的飞扬,车辆的运转……而贴图则主要负责每个物体的颜色,细节,形状我们的机器,其中显卡的部分负责贴图运算,而CPU负责物理运算。
那么CPU进行物理运算的时候需要遵循一定的法则。
简而言之,这些法则就是游戏设计人员事先设定好的运算规则,可以称之为物理引擎。
...
物理引擎好的手机汽车游戏
游戏开发指利用计算机编程语言,如C编程语言、C++、java等,编写计算机、手机或游戏机上的游戏。
目前流行的游戏开发语言为C++编程语言,目前流行的游戏开发接口为DirectX9.0,还有OpenGL、SDL(Simple DirectMedia Layer)等。
现在手机上玩的游戏分为Android与IOS两种不同平台,分别是用eclipse/MyEclipse和xcode。
现在也流行一些跨平台的编程引擎,例如cocos2d-x、unity 3D等。
接下来,再看看游戏开发的课程,游戏开发的课程除了理论知识还包括软件的操作。
C++程序基础:通过学习C++语言,奠定编程基础。
使用VS.net2005编译工具,高效构建代码。
算法与数据结构:通过学习算法与数据结构的基本概念,了解常用的数据结构及相关的抽象数据定义,认识计算机求解的基本思路与方法。
Win32程序入门:通过API和MFC的学习,熟悉Windows环境下程序设计基本方法。
通过使用DirectX绘制2D图形。
游戏数学和智能应用:游戏中的坐标系,矢量、矩阵,几何碰撞,物理模拟,人工智能与寻路算法。
2D游戏技术与应用:2D 游戏技术概论,游戏地图系统,GUI 系统,战斗系统设计,任务系统优秀的声音引擎 BASS,Cocos2D-X 引擎,Box2D 物理引擎。
游戏开发的常用软件有C++、DirectX、Box2D、Cocos2d-x、Unity,不能说哪款最好用,因为这是游戏开发过程中都要用到的软件,必须都精通。
C++是在C语言的基础上开发的一种通用编程语言,应用广泛。
DirectX,(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口。
Box2D是一个用于模拟2D刚体物体的C++引擎。
zlib许可是一个自由软件授权协议,但并非copyleft。
Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布的。
这是一个C++ Cocos2d-iPhone项目的版本。
Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
...
为什么不直接用LiquidFun流体物理引擎替换掉Box2D物理引擎
因为动漫周边是个比较广义的概念,是指以游戏为载体,对其周边的潜在资源进行挖掘。
包括以游戏为主概念的玩具、食品、饰品等等实物,同时也包括音乐、图象、书籍等文化产品。
这些不同形式的产品,在游戏周围构成了一个庞大的产业链。
在为游戏厂商带来游戏以外丰厚的利润的同时,也把游戏同制造业等传统行业紧密的结合在一起,推动着整个产业的向前发展。
需要使用的设计软件列表如下:如:1.动漫T恤、电子周边、日用家具这系列的物品设计是需要使用Illustrate、CorelDraw、Photoshop软件进行操作的。
2.动漫手办、数码电玩、拼装模型、挂件饰品系列物品的设计是需要使用Flash、3DMAX、Maya进行完成与后期制作。
3.网游产品需要使用游戏编程相关软件制作,如:C++编程语言、WIN32编程、面向对象程序设计、数据库SQL、MFC、Cocos2D-x引擎应用、Box2D物理引擎应用。
4.cos服装道具是不需要软件,只需要手工进行完成即可
能说明一下游戏引擎到底是什么东西吗??
一句话概括:游戏引擎就是一套用来开发游戏的工具为什么要用工具:游戏开发涉及的模块很多:渲染(就是把2d的图片和3d的模型在屏幕上画出来),物理(加速,碰撞),音效,AI,网络,资源管理,跨平台……等等等等,我们不会每次开发一个游戏都把这些模块和底层工具从头写一遍(会死人的=。
=而且没必要),而是会去使用现有的成熟的工具或者加以扩展,这样开发速度和质量都比较有保证。
这样的一套工具组件就叫做游戏引擎。
(也有单独的渲染引擎和物理引擎等等)工具的形式:有的是代码库(比如2d渲染引擎HGE,物理引擎Box2d,游戏引擎cocos2d-x,OGRE),有的带有很强大的可视化编辑器(比如Unity3d,虚幻,CryEngine)(网上都可以搜到试用版或者破解版,有兴趣可以自己下一个玩玩)还想了解更多的话欢迎追问...