三维游戏引擎

三维游戏引擎

有没有人会用任意一款3D游戏引擎写游戏啊?

Intoduction (简介) 让咱们谈谈你如何撰写一份提供优雅性能的3D引擎。

你的引擎需要提供的包括:曲面(cuved sufaces)、动态光线(dynamic lighting)、体雾(volumetic fog)、镜面(mios)、入口(potals)、天空体(skyoxes)、节点阴影(vetex shades)、粒子系统(paticle systems)、静态网格模型(static mesh models)、网格模型动画(animated mesh models)。

假如你已经知道如何以上所述的所有功能顺利工作,你也许便能将那些东东一起置入到一个引擎当中。

等等!在你开始撰写代码前你必须先构思一下如何去架构你的引擎。

多数来讲,你一定是迫切地渴望去制作一个游戏,但如果你立即投入便开始为你的引擎撰写代码后,你一定会觉得非常难受,开发后期你可能会为置入新的特效与控制而不得不多次重写大量的局部代码,甚至以失败而放弃告终。

花一点时间好好地为你引擎深谋远虑一番,这将会为你节省大量时间,也少一点头痛。

你一定不会急切地去架构一个巨型的工程;或许你也会在引擎未完成时而干脆放弃它,然后去干的别的什么事儿。

好了,当你掌握学习你所需知识的方式之前,也许你还不能完成那些事儿。

将设计真正地完成确实是件美事,为之你会感觉更好,你将为之而耀眼! 让我们分析一下具备完整功能的3D游戏引擎的需要哪些基本部件。

首先,这为具有相应3D经验但且还需一些指引的开发者提供了一些信息。

这是一些并不难且能快速掌握但是你必须应用的内容条目。

为将你的工作更好地进行下去,这里将对关于“把多大的工作量”与“多少部分”置入一个游戏引擎给出一个总概。

我把这些成分称为 系统(System)、控制台(Console)、支持(Suppot),渲染引擎 内核(RendeeEngine Coe)、游戏介质层(Game Inteface)、以及工具数据(ToolsData)。

ToolsData (工具数据) 在开发过程中,你总是需要一些数据,但不幸的是这并不象写文本文件或是定义一个立方体那么简单。

至少,你得需要3d模型编辑器,关卡编辑器,以及图形程序。

你可以通过购买,也可以在网上找一些免费的程序满足你的开发要求。

不幸的是你可能还需要一些更多的工具可你却根本无法获得(还不存在呢),这时你只得自己动手去写。

最终你很可能要自行设计编写一个关卡编辑器,因为你更本不可能获得你所需。

你可能也会编写一些代码来为大量的文件打个包,整天面对应付成百上千个文件倒是非常痛苦的。

你还必须写一些转换器或是插件将3d模型编辑器的模型格式转换成你自己的格式。

你也需要一些加工游戏数据的工具,譬如可见度估算或是光线贴图。

一个基本的准则是,你可能要为设计工具而置入比游戏本身等量甚至更多的代码。

开始你总能找到现成的格式和工具,但是经过一段时间以后你就能认识到你需要你的引擎有很大的特性,然后你就会放弃以前的撰写方式。

也许目前非常流行利用的第3方工具辅助开发,所以你必须时刻注意你的设计。

因为一旦当你将你的引擎发布为opensouce或是允许修改,那也许在某天中会有某些人来应用你的开发成果,他们将其扩展或者做某些修改。

或许你也应该花大量时间去设计美术,关卡,音效,音乐和实体模型,这就和你设计撰写游戏,工具以及引擎一样。

System (系统) 系统(system)是引擎与机器本身做通信交互的部件。

一个优秀的引擎在待平台移植时,它的系统则是唯一需要做主要更改(扩加代码)的地方。

我们把一个系统分为若干个子系统,其中包括:图形(Gaphics)、输入(Input)、声音(Sound)、记时器(Time)、配置(Configuation)。

主系统负责初始化、更新、以及关闭所有的子系统。

图形子系统(Gaphics Su-System)在游戏里表现得非常直观,如果想在屏幕上画点什么的话,它(图形子系统)便干这事儿。

大多数来讲,图形子系统都是利用OpenGL、Diect3D, Glide或是软件渲染(softwae endeing)实现。

如果能更理想一些,你甚至可以把这些API都给支持了,然后抽象出一个“图形层”并将它置与实现API之上,这将给了客户开发人员或是玩家更多的选择,以获取最好的兼容性、最佳的表现效果。

输入子系统(Input Su-System)需要把各种不同输入装置(键盘、鼠标、游戏板[Gamepad],游戏手柄[Joystick])的输入触发做统一的控制接收处理。

(透明处理) 比方说,在游戏中,系统要检测玩家的位置是否在向前移动,与其直接地分别检测每一种输入装置,不如通过向输入子系统发送请求以获取输入信息,而输入子系统才在幕后真正地干活(分别检测每一种输入装置),这一切对于客户开发人员都是透明的。

用户与玩家可以非常自由地切换输入装置,通过不同的输入装置来获取统一的行为将变的很容易。

声音子系统(sound system)负责载入、播放声音。

该子系统功能非常简洁明了,但当前很多游戏都支持3D声音,实现起来会稍许复杂一些。

3D游戏引擎中很多出色的表现都是基于“时间系统”(time)的。

因此你需要一段时间来为时间子系统(Time su-system)好好构思一番。

即使它非常的简单,(游戏里)任何东西都是通过时间触发来做移动变化,但一份合理的设…

3D游戏引擎下载

图像引擎可能只包含,图像和物理引擎部分,可能只带有图像部分,更偏向于建模,一般OpenGL或者Direx就ok了。

游戏引擎包含的模块就比较多了,完整的游戏引擎包含,输入输出,网络,人工智能,图像,物理,音效等多个方面。

具体的说,图像只是处理模型,而游戏引擎则包含游戏所需要的所有。

哪些游戏引擎用来制作3DRPG游戏的

你有多少预算?就你做的这款游戏需要:美术一批人,程序一批人,策划一批人,其他什么的一大批人每批人每年问你要几千万,就算你做4年完工。

你就花了几个亿。

同学,要是给一个3DRPG引擎就可以出个大作,那岂不是全是都在做游戏,全世界人都赚钱……一步一步来吧……

如何将3D模型导入游戏引擎

最近我做了个虚拟社区,用的是unity3d做的,首先是在3dmax中建好模型,然后导出为fbx格式,然后再导入到unity3d中。

至于你说的第一称漫游在unity3d中是有这么一个控件的(那个控件叫first person character control),不需要你自己做的,你把那个控件拖到你的场景中就可以实现漫游了。

在unity3d的最新版本中还带有第三人称的一个角色,看你自己的喜好了。

不过你要用unity3d开发的话,需要一定的学习时间,这里只是跟你说个大概的思路.

做3D网络游戏开发要掌握什么知识

这方面关系到的知识比较多. 建议你先搜索一下学游戏开发先学什么.网上有很多 大师的 文章. 当然如果你已经是老手了,那就不必在看了.这里我说些基本的.首先你先学会编程语言, 可能你会被 这样的 那样的语言所迷惑,比如 JAVA C C++ 等等. 但是你不用忧郁. 从C 语言开始. 虽然有很多人认为 用C++ 开发游戏比较适合.但是 这只是 片面之谈. 况且学C++ 你必须先学C.游戏先从2D 的开始.再学 3D 千万不可急, 这里有入门的书.WINDOWS 游戏开发大师技巧, 入门经典大作, 让你自己编写出2D游戏引擎.只要你熟悉了,你可以用这个引擎开发出各种2D的游戏. 书中主要用到C 语言.图形程序包 用的是 DX ,我保证,只要你看了本书,你就会疯狂喜欢上.当你熟练掌握了以上书的话,不要急, 你就开始把 2D 的引擎 升华到3D 了.上面的书的续作, 是讲3D 的,同样是经典大作. 这时候再看,你才能看懂.这时候你也可以看一些专门为游戏开发写的3D 数学知识的书.游戏开发智能 的书.在我百度空间里,有这些书的 介绍,你可以参考一下

有哪些好用的轻量级3D游戏引擎

目前主要用于大型MMORPG游戏的开发 也可以用于开发虚拟仿真系统:比如第二人生系统 高效的界面系统可以构造普通的游戏界面、软件界面之外,还能快速搭建起一款2D游戏的地图和资源整合。

(一)本系统主要功能介绍1、系统工具介绍3dsmax8、3dsmax9、3dsmax2009导出插件 模型属性编辑器、特效编辑器、UI编辑器、场景编辑器、图片纹理加密工具、fxcompiler.exe将文本fx文件编译成二进制文件、splitTexture.exe将阴影贴图分成四个等份,用以减少阴影贴图所占内存数量 注:所有工具加起来可以有效地提高目标项目的开发效率2.引擎支持内容1) 要求机器最低配置 a)系统windows2000或以上最好是XP b)显卡:ATIx700或者Nvidia5200.c)CPU:1.2GHz e)内存256M f)显卡需要支持shader model2.0以上2)渲染系统介绍 a)高度优化的几何渲染系统,最高时可以达到每秒渲染2000万面以上 b)采用法线贴图,使低多边形(几千面)的渲染效果达到高多边形(几百万)的细节程度。

c)采用超大无缝连接地图,可以支持最高100公里x100公里大的场景,在一般游戏中一个大型场景跟随的占用磁盘空间一般都是几百兆甚至几个G的空间,一个场景控制在200万面的情况下,文件大小基本上几百兆以上的空间 幻影游戏引擎在最大程度上压缩了这些数据,可以有效的减少发布版本的地形方面的空间占用量,一般200万面的情况仅耗损10M左右的空间,在1000×1000个格子对一般的游戏来说已经足够创造一个大型社区,而本地形系统支持最大格子数量是32768×32768,按照一个格子一米计算大小是32公里x32公里,从一头走到另一头需要3到5个小时,占用硬盘空间为1.4G,2亿8千万个面 d)粒子系统(高校的粒子喷射管理系统,通过固定粒子管理池快速分配和收回粒子,提高粒子喷射速度),每个发射器可以最多支持1000哥粒子的喷射,整个系统的粒子数量可以根据用户需要自己设定。

e)支持通过固定几何体渲染的阴影(Stencil Shadow)。

f)可支持,法线贴图(Normalmap)高光贴图(SpeculiarMap)、反射贴图(ReflectMap)、阴影贴图(ShadowMap)、光贴图(LightMap)。

g)支持Shader Model2.0、3.0(基于GPU的软件渲染)。

h)高效的骨骼动画系统和角色换装系统。

i)支持快速的动态光照(主要体现在太阳光线在通过被遮挡物体时会自动调整光线的强度)。

j)支持blood泛光和模糊等多个后处理方式(主要用来在渲染整个场景的基础上添加一些特殊效果,比如魔幻般的感觉,或者电影效果输出等)。

k)将模型渲染到纹理并显示到界面上。

i)天空以模型的形式添加到系统中,可以根据需要编辑和切换。

m)用户界面系统。

n)支持3Dsmax基于Skin或者Physique皮肤系统、骨骼动画、模型动画、顶点动画、材质动画等的导出。

o)可以绑定一个渲染物体或者声音到动作中,在动作开始时即可自动播放预先绑定好的渲染物体或声音。

p)地形系统 i.支持最高6层地形贴图混合,整个场景可使用贴图数量没有限制 ii.超大无缝连接地形,最高可以支持32768*32768个顶点(2亿多个顶点),按照一个三角形大小一米计算也可以组成32×32公里的大地形。

iii.占用磁盘空间少,最大地形占用磁盘空间2.5G左右,本地型系统会最大的减少磁盘空间占用量。

iv.动态载入系统可以支持地形的动态载入和动态保存。

v.优化地形模式,高度优化的地形三角形系统,可以将多个地形格子组合成一个格子,用以减少同时渲染的三角形数量。

vi.支持逼真的水面倒影。

vii.提供场景编辑器,用来编辑整个大地形。

q)逼真高效的水面渲染功能 r)3D声效和3D音乐,支持wav声效和mp3等音乐格式文件的播放 s)支持大面积的草和植物的种植,并可以进行对草地进行快速排序 t)以插件形式将物体添加到场景中(3D声效,3D音乐,3D模型,粒子发射器,等都是通过以插件的形式添加到场景内,用户本身也可以编写自定义对象到场景内) u)基于AStar 算法的二维巡路系统 v)可以绑定本地视频文件到一个模型中,通过3D画面,和3D声道输出 w)可以本文到3D缓冲区,显示在角色头部的文本。

3)客户端 a)通过project_main类可以灵活的构造一个渲染程序,或者一个客户端。

b)使用状态控制方法控制各个不同阶段的渲染过程,比如登陆过程,游戏过程等等,每个过程对应一个其状态类。

4)服务器5)网络服务器底层采用IOCP(Input/Output Completion Port / 完成端口) 技术开发。

6)拥有服务器端和客户端的基础网络系统构架,帮助使用者快速建立起自己的网络系统。

7)服务器的最高用户连接量在10000人以上,而管理这些10000个连接需要的服务器底层的内存使用量400M左右,每秒可向外部发送最高5万个数据包,和每秒30M以上的数据发送量,(通过实际的模拟客户端进行多次测试,因为测试时候是每一个信息来回算作一次发送,所以计算数据包的接收速度也是同时每秒5万个数据包,30M数据接收量,总共60M的数据流量)。

8)提供快速消息加密,经过加密之后发送量最高每秒4万个以上的数据包,和25M以上的数据量(这个指标是根据我本人机器的配置来测试的,本人CPU型号是…

970797游戏攻略网 » 三维游戏引擎

赞 (0)