如何自学ios 游戏开发引擎引擎的开发

如何学游戏编程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
3页免费1页免费2页免费3页¥1.0042页1下载券 7页1下载券25页1下载券1页免费19页免费19页免费
喜欢此文档的还喜欢32页免费39页1下载券11页免费42页1下载券21页免费
如何学游戏编程|如​何​学​游​戏​编​程
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢同类热门资料
资料下载地址
(确认已经开启迅雷或电驴)
3D GameStudio/A6 Pro 德国开发三维3D游戏的着名工具软件,3D GameStudio 游戏引擎代表了当今2D、3D及时游戏引擎的领先水平,已经有上百种使用该引擎的游戏公开发行,官方价格近万元。本软件应游戏开发者的要求提供(包括教程与手册等)!
3D GameStudio 引擎结合了高端的3D引擎,2D引擎,物理引擎,地图和建模编辑器,脚本编译器和大量的3D物体库,工艺品和半成品的游戏。这将使你更容易的制作第一人称游戏、第三人称游戏,角色扮演游戏,滚屏游戏,飞行模拟器,棋类游戏,运动类游戏,及时战略游戏,以及虚拟展示应用程序。。。或者以前没有出现过的3D程序类型。
GS引擎适合每个想作游戏的人。它提供了三种层次的游戏制作方法;
可以通过简单的按键,一步一步的制作简单的游戏,如射击类游戏。
使用C脚本,来制作成熟的商业游戏项目。
使用C++语言,达到更细微的专业开发
使用游戏制作引擎将成为未来游戏制作的主流。甚至不需要编程知识,花一个下午的时间,就能通过教程,一步一步的制作出简单的动作游戏。如果使用脚本语言的话,就能制作出具有商业品质的公开发行游戏。要更详尽的了解该引擎,可以看看demos,屏幕截图,阅读FAQ(常见问题),还有用户杂志。
&非常优秀的3D图形程序开发包&
Dr.Dobb's Journal
总之3D GameStudio A6具有3D引擎和3D贴图、动作编辑器,同时提供了大量的素材库。使用3D GameStudio 你可以制作第一人称、第三人称、冒险、RPG、回合制、飞行模拟、空战模拟、坦克模拟、体育竞技、3D Pinball等多种游戏!现在已有很多游戏公司使用该软件开发大量游戏!
一些用3D GS引擎制作的商业游戏。
GS引擎本身包含有专业水平的建模、地形编辑器,这样可以避免使用第三方程序所带来的格式转换方面的问题。通过编辑器可以方便的创建外景,设置光效,定义移动路径和模型动作。有超过1200种纹理、建筑物、家具、交通工具、武器、动态角色库可用于制作。良好的引入兼容性,可以使你通过互联网下载或自己创建各种格式的3D建模、纹理等所需资源。(当然游戏中的模型,渲染等支持其他3D软件的导入如Max或Maya...)
3种制作方法都包含丰富的环境资源,其中有固定的和可移动的部分,外景、地牢、建筑和城市。在环境中,你可以设置不定数量的彩色光源,真实的投影,3D音效和背景音乐。你可以使用任何作图程序来制作纹理和精灵图。活动的3D模型使用 建模编辑器(MED)来制作。
引擎可以输入目前流行的3D游戏编辑器所制作的动画模型,如Worldcraft 或 Milkshape。兼容一般的3D文件格式(X, 3DS, MDL, MD2, MAP, WAD) 。由免费的地形生成器Terragen制作的文件也允许输入。如果你使用高端的3D程序,如MAYA或3DS MAX,你应该使用其插件来转换成适合的格式。通过Milkshape兼容过滤器接口,各种格式的文件可以方便的输入输出。
在开发完成后,一个按键可以生成CD格式的发行版本。并且可以选择生成一个加密的压缩包。
A6引擎 游戏引擎是整个开发系统的核心,它可以产生3D图像和控制虚拟世界的运行方式。由于结合了BSP-树木地形渲染器,GS引擎可以很好的处理室内外场景。光线引擎支持真实的投影和移动光源。甚至在低档的硬件上,成熟的三倍精选算法可以渲染10万个多边形,并且达到 70 fps。通过使用插件,程序可以获得新的效果个特征。
渲染器 ...........................................................
- 6度自由的,多摄像机和渲染窗
- DX8.1 DirectPlay, DirectShow, DirectSound
- 自动选择合适的3D硬件加速
- 支持DX8.1和以上版本
- 窗口或全屏模式,最大支持
- BSP/PVS, Portal and frustrum culling
- Geometric LOD and trilinear mip mapping
- 静态和动态的点光源,投射光源和方向光源
- 静态和动态的投影
- 彩色雾区
- Portals and mirrors
- Vertex and pixel shaders
- 凹凸和环境帖图
- 多纹理帖图(最大8),光线帖图,精细纹理
- 静态动态物体的材质属性
- 动画3D精灵和帖纸
- 无缝的室内外可变海拔地形?
- 变形网格建模,骨骼和节点动画,动画合成?
- 可编程的离子和波生成器
- 拥有动态云层和背景图的天空系统
- 2D渲染器,渲染静态图像,2D精灵,面板,按钮,滑动条,覆盖图,Truetype 和位图字体,屏幕截图,和电影。
- 3D视图和电影可以被渲染到弯曲的表面,达到扭曲效果
- 可编程的2D和3D效果,如镜头角度,弹孔,卡通等
游戏引擎 ........................................................
- 多边形水平的碰撞测试,应用于地形和3D物体
- 物理引擎支持重力,聚集,阻尼衰减,弹力,摩擦力和 绞链,球,车轮,滑杆的互动
- 3D音源 (WAV and OGG) 多普勒效果
- 快慢动作效果
- 任意轴向的旋转,应用于太空、飞行模拟器
- 摄像机,角色,交通工具的路径轨迹
- 鼠标捕捉和操纵 3D物体
- 游戏任意位置的进度存取
- 局域网和互联网上的客户/服务器模式的多人游戏
- 分布式/多服务器 支持多人在线的游戏
- Expandable through DLL plugin interface
C脚本 编程语言
我们可以通过设计水平,设置项目和怪物,并附加其行为举止,和添加游戏菜单来创建一个完整的游戏。 那么我们是否真正需要一个编程语言呢?
在使用第一种简便方法完成你的游戏后,你可能希望制作更成熟的游戏。就像用编程制作的那样,自己设计玩家的动作,结果,人工智能,用户界面,代替预定义的脚本。GS引擎的 C脚本语言 可以让游戏制作的新手制作出具有专业水平的游戏。 C脚本是简单化的C++,C++应用于专业的编程。如果你曾经用javascript编辑过网页,你会比较适应 C脚本。否则,你应该去看手册中的简易教程《6天游戏编程速成》。C脚本 是学习游戏编程最好的方法,并且每当你输入代码,都可以立刻从虚拟的世界看到结果。
虽然非常易懂,但和真正的编程语言一样有较高的自由度,包括 多任务,数组,结构,指针,全局和局部变量,字符串和向量函数,文件读写等。引擎提供高亮度显示语法条的编辑器,调试器,编译器。和Bisic解释执行方式不同,C脚本是可编译的。用C脚本制作的程序,运行速度和直接编程的程序运行速度相当。执行速度,对于大多数游戏来说都是重要的。
相关学习资料
&&&& &&&&&&&&&&&&&&&&
学习资料库,由广大资源爱好者通过共享互助而共享各种学习资料,但学习资料库无法保证所共享资料的完整性和合理性
版权所有 Gzip enabled想自学游戏引擎开发_百度知道
想自学游戏引擎开发
想自学游戏引擎开发。不知道该从什么基础开始学。谁能推荐点比较实用的书
你的雄心壮志实在是太让我吃惊了
一看你这问题
就知道你是小白自学游戏引擎开发=
你要自学C语言、C++语言、这是基础,首先
你要了解游戏引擎的构成
游戏引擎分为很多模块
粒子效果等等、、、所以
你还有先自学编程吧
把编程语言学好
在学做引擎
其他类似问题
按默认排序
其他3条回答
你的雄心壮志实在是太让我吃惊了 一看你这问题 就知道你是小白 自学游戏引擎开发= 你要自学C语言、C
语言、这是基础, 首先 你要了解游戏引擎的构成 游戏引擎分为很多模块 例如 光照模块 物理效果 粒子效果 等等、、、 所以 你还有先自学编程吧...
你的雄心壮志实在是太让我吃惊了 一看你这问题 就知道你是小白 自学游戏引擎开发= 你要自学C语言、C
语言、这是基础, 首先 你要了解游戏引擎的构成 游戏引擎分为很多模块 例如 光照模块 物理效果 粒子效果 等等、、、 所以 你还有先自学编程吧...
这个很难学的,还是学点别的吧
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁【转】如何学好3D游戏引擎编程(三) | 游戏开发小组 | 果壳网 科技有意思
2591人加入此小组
《3D游戏编程大师技巧》继承了《WINDOWS游戏编程大师技巧》里面2D函数,然后3D功能以及流水线和引擎都是自己完成,这本书的代码量要有十几万,我当时用C++重新封装了《3D游戏编程大师技巧》代码,自己设计了一个面向对象固定流水线模式,代码量13W左右,这个过程很艰辛,这本书我看了2遍,最后一共零零散散花费了大约9。10个月的时间。你会感觉你立刻升级了,HP,MP,CP都增长了,当然也包括RP,哈哈!(不知道这些术语的,大家多玩玩RPG游戏吧!)好东西去追求,不要怕浪费时间,浪费精力,你想想,你得到的最后会大于你的付出,这些都不算什么。很多人问我怎么学3D,我建议他们不能着急,要从学《3D游戏编程大师技巧》开始,大约要8,9个月时间,把每个细节都弄明白,闭上眼睛,怎么实现就很清楚,书上每一页写什么都很明确。他们都觉得浪费时间,那么这样是永远学不好的1 3D数学是你要攻克的虽然你数学学的好,但国内的教科书还是和游戏中用的有些不同,毕竟没有上过专门讲解游戏中数学知识的课程。这需要你系统学习游戏编程中数学,3*3矩阵为什么有的人用,而有的人用4*4矩阵,为什么有的用矩阵转置有的用矩阵的逆。《3D游戏编程大师技巧》这本书介绍的很详细,还有一本书就是《3D数学基础:图形与游戏开发》很不错(有中文的),先系统学习下,然后在学习游戏编程时,不懂的时候,再回头看看这些书,把所有的东西都彻底弄清。你如果数学基础好,学这些都很容易,以后游戏编程中最深奥的地方之一就是数学。基本上我总结下,你要知道的是:向量 4维 和 3维向量有什么不同 矩阵 4*4 和 3*3 矩阵有什么不同四元数ELUER角以后有机会深入研究碰撞中的各种算法,还会遇到很多关于数学的问题,上面只是渲染有关系。2 3D流水线的实现过程我无法用言语来表明这个过程的重要性,整个3D流水线是是3D游戏的脊柱,你的基础知识牢固与否,主要看你这里。3D流水线每一个细节我希望大家都要搞清楚,这个过程对初学者是要花费大量的时间专研与琢磨,D3D的固定流水线都是由硬件完成,如果你的硬件不支持,它会用软件模拟,好,关键就在这里,软件模拟是怎么回事,而《3D游戏编程大师技巧》的流水线是自己用C语言写的,也就是用软件完成,这样你能了解整个流水线的细节,同时你在学D3D时,对照着来学,你会发现,D3D学起来很容易。现在D3D和硬件都支持可编程流水线,而且DX10没有固定流水线,所有变换过程都用SHADER语言控制显卡完成,这个过程是3D流水线的缩影,所以3D流水线的重要性是是可想而知的。我说了这么多,3D流水线对你是一个新鲜的名词,我也没有去解释它,我不想去解释,完全留给你自己去,我始终坚持着,我只告诉你去的路,路上有什么困难,应该怎么走,你自己去体会这条路上的酸甜苦辣。我希望大家多花些时间在这上面,真真正正的自己写代码实现一下,基础对你真的很重要,记住我说的话,很多人学习时,认为自己理解了,没有去实现,其实还是那句话“纸上得来终觉浅,绝知此事必躬行”,相信我,没错的。 基本上我总结下,你要知道的是:3D中的顶点结构,每个分量都用来干什么,三角形是基本渲染单元。模型空间——》世界空间——》相机空间——》投影空间——》屏幕空间——》光栅化 这个过程和运行原理材质究竟是什么? 常用的宏光照模型原理,光源类型光源和材质和法向量关系光照在哪个空间去执行(其实不是很严格)纹理寻址,纹理映射方式,纹理混合,纹理过滤。1D 2D 3D CUBE 纹理Z 1/Z缓冲2种相机模型ALPHA 透明关于光栅化三角形要特别注意,他最后混合纹理和光照颜色和ALPHA透明,还要判断深度缓冲,最后是插值填写每个象素。3 D3D究竟要如何学习《3D游戏编程大师技巧》和D3D流水线过程还是有些差别的,比如在投影矩阵上,其实它们都是大同小异,只不过表现形式不同,原理都一样。我希望大家自己可以找出来,深刻理解里面原理。还有一个重要的东西,就是哪些是D3D开发游戏必须有的,哪些是D3D自己扩展的。必须有的,就是同硬件打交道的部分,而D3D中自己扩展了很多库函数,例如数学库,这个完全可以没有,我们自己来实现,还有D3D中的EFFECT接口,它自己定义的。X文件所有函数接口。也就是说,你要理解,哪些是游戏开发中必须有的,哪些是游戏开发中自己完全可以不接触底层来实现的。游戏编程中有3个缓冲区,颜色缓冲,深度缓冲,模板缓冲,前2个《3D游戏编程大师技巧》中,都详细的介绍,而模板对初学者可能很晦涩,大家先弄明白模板的机制,然后多看些例子,我想你会深刻理解它的含义的。D3D的学习,可以看D3D SDK的例子,也可以找一些书籍,很多的。基本上我总结下,你要知道的是:D3D提供基本常用底层接口,那些是是D3D为了编程必须提供的,那些是不用提供的,比如数学库我们完全可以自己写。D3D顶点 索引BUFFER颜色缓冲,模版缓冲,深度缓冲 以及对这些缓冲的操作目标渲染对象、D3D 中的3D流水线单通道渲染,多通道渲染。熟练操作上面的所有,这些都足够了,其他的都是D3D中多余的,如果你要自己做引擎,很多都要自己实现,当然初学者可以就用它扩展的函数库,也很方便的。4 其他要知道的游戏知识下面知识都属于很强的游戏技术范畴,他们只属于单单游戏中技术支持,引擎就是用合理的方式,把所有3D相关包括流水线和下面这些都整和到一起,但这种整和是有效的管理。场景管理算法 :BSP OCTREE QUADTREE PORTAL PVS动画系统 :骨骼动画,蒙皮骨骼动画,渐变动画,和这些动画的混合阴影 :阴影体 投影阴影 阴影影射剔除算法 :包围球 OBB AABB BHV算法LOD系统 :视点无关LOD 视点相关LOD广告牌 :跟踪相机方向 和 只围绕y轴旋转 粒子系统这些是比较常用的,常常碰到的,根据基本的颜色运算,空间运算还能衍生出很多游戏特效,等待你自己去看书,去解决。七。3D引擎编程,令你的挑战达到了极限就象我前面说的,引擎没有严格定义划分,但对于当代的引擎,似乎大家都趋向于越好的东西,越健壮的支持,才称上引擎。现在游戏玩家对画面拟真程度要求很高,这就要求引擎能更好的处理3D世界中大量数据,一个好的引擎,起码要做到以下几点(引用《3D.Game.Engine.Architecture.Engineering.RealTime.Applications.with.Wild.Magic》里面的话)1。如何把3D世界中大量数据,让它实时快速处理。2。引擎中的渲染器(用来管理数据,进行渲染处理的)接口应该怎么定义。3。如何让使用引擎的人,能很容易的使用引擎。4。当引擎中添加新特性时,如果让引擎改动最小。我感觉这4句话,概括的很精辟,如果让我来概括,好象我现在还没这个能力。这是一个当代引擎的新的定义,虽然不是全面,但它一语道破天机,如果你的引擎能达到上面4点,我想它已经足够的优秀,同时说明你也很优秀了。下面我就分别解刨这4句话,让大家对引擎有一个深刻的了解。我只是分析,这4句话要求高手才可以完全去达到,我现在还不具备这个能力,所以只能帮大家分析。1。如何把3D世界中大量数据,让它实时快速处理。3D世界中充满了大量得数据,有效的处理只可以看见的,能感受到的就可以了。3D引擎中,很多时候都在处理剪裁和剔除的问题,把不可见的或者和碰撞无关的数据用最快的方法弄掉,不让它进入显卡,一切还是停留在3D空间中。剪裁,剔除还有碰撞处理,永远是3D引擎中最常见的话题,现在有很多成型的方法,大家自己通过学习就可以了解的。2。引擎中的渲染器(用来管理数据,进行渲染处理的)接口应该怎么定义。即使你把3D数据给了显卡,还是不能达到最快显示,我们要把这些数据分类,重新组织,这里面还涉及到存储管理的问题。你的渲染器的接口要定义的和底层提供的DX或者OPGL相通,因为最后你要调用的是这2个库里面的函数。3。如何让使用引擎的人,能很容易的使用引擎。这是一个经验问题,一个软件设计给用户使用,怎么让用户很容易上手。但无论什么样的用户,你必须对3D有了解才可以使用,否则神仙也没法完成这个引擎。4。当引擎中添加新特性时,如果让引擎改动最小。经常说的一句话就是“计划没有变化快”,怎么能让引擎跟上时代的步伐,当硬件有革新,我们引擎就有革新,出现新的处理方法,引擎也要改进,用户需求改变,引擎接口也要改变,我们要求引擎的所有改动最小,这样才是一个完美的引擎。引擎是软件设计+算法+编程的结合体,难点在软件设计上,一个好的引擎,代码几百万很正常,没有一个好的设计来规范它们,混乱是不可避免的。对于一个引擎,从设计到编程都很重要,一个人完成一个好的引擎是不可能的,多人协作来完成引擎,在大家相互配合的同时,每个人对自己的要完成的任务必须精通,还要有人协调这些工作。好的引擎,要有一个抽象层次,然后是渲染API层次,还要支持多操作系统平台,我在这里没有过多介绍各种技术细节,因为很多细节在书中都可以找到,加上你的聪明,很多技术算法可以自己创造的。对于游戏中大量算法,引擎中到处都是,碰撞,场景管理,光照,纹理混合,动画系统,粒子系统,内存管理,资源管理等等大家要多实践,多思考,多看书,多看资料,把握每一个细节,把握每一个整体。看书时要带着问题去看,同时也要带出问题,因为没有一个方法是完美的,必定会有或多或少的缺陷。现在开源的引擎确实不少,其实程序员都有一个共性,看别人代码有时不如自己写,确实这样,有时只看代码去体会别人的思想真的很难,但有时为了去学习也要硬着头皮去看的,跟踪代码。开始时,如果你不了解引擎究竟是什么,这时最好集中看一个开源引擎,一定要把它的工作原理都弄明白,这样你会得到很大的提升,你就会明白引擎是什么,为什么不用D3D直接编写游戏,还有一点就是,有机会一定要去实现,这样你的体会会更深。八 浅谈物理与人工智能这2个都不是中国游戏中的优势,它们和图形一样,要求一定能力积累才可以胜任。如果我没有预测的话,未来中国游戏中大量的需求将来自物理和人工智能,传统的网络RPG会慢慢不能满足大家需要,而被时代所抛弃的。这2方面的编程我只是略知一二,还算一个小白,在此简单谈谈。10。1 物理游戏中大部分物理模拟都集中在力学和运动学上,本来它们就是一个整体。因为最后效果是大家看到的,而看到的都是物体在屏幕上的移动,所以所有的计算最终都归结到物体移动上。因为游戏毕竟是游戏,人也毕竟是人,没有必要模拟的那么精确,同时人也是感觉不出来的。所以要想做好物理上的编程,必须对力学和运动学有系统的了解,高中学的力学部分还不是很足够,对于旋转部分,也就是处理力矩和转动惯量上,高中物理书都没有讲(我那时是没有讲,而且很多直线线形运动方程推倒其实是用微积分推倒的,高中书上都没有明确推倒)物理上的模拟也没有逃脱物理计算基本规则,先是受力分析,然后计算合力,计算加速度,计算速度,最后计算位置,也可能涉及到动能和动量等知识,还有些流体力学等等吧。物理其实处理的问题基本就是检测物体碰撞,碰撞后的反映,物体运动情况。至于理论,大家弄本大学物理,力学部分就足够,如果数学好的话加上高中的物理知识,应该学起来不难的。《游戏开发物理学》这本书很好,可惜绝版了,但有电子版的,也有中文版。10。2 AI相对物理的编程书籍来说,AI的书很多。AI是研究生必须学的课程,包括传统的AI和计算智能。游戏中常用的传统AI包括自动机理论,A* 算法,回溯,图搜索,剪枝等等吧。计算智能包括的是:遗传算法,模糊计算,人工神经网络。我答UBI笔试的时候,里面很多题都是A*算法,可见FPS游戏中大量存在的都是AI的路径搜索问题,让电脑更加智能。AI的游戏编程书很多,我就看过几本。《WINDOWS游戏编程》中有一部分讲的AI,《游戏开发中人工智能》 《游戏编程中的人工智能技术》这3本都有中文的,而且都有大量的实例,对于那些大量理论的书籍来说,看看它们还是很通俗的。还有很多好书,都是英文的。
+ 加入我的果篮
文如其名,这些个任务一丝不苟地做完真是条汉子= =||
膜拜一个……看完之后……正在犹豫是不是放弃好了……
引用 的话:膜拜一个……看完之后……正在犹豫是不是放弃好了……别被吓大啊。。现在游戏引擎成熟了,就方便好多。。
引用 的话:别被吓大啊。。现在游戏引擎成熟了,就方便好多。。问楼主点问题啊,我写了个3D引擎,骨骼动画部分能给我说说么
引用 的话:参考OGRE引擎。。
(C)2013果壳网&京ICP备号-2&京公网安备扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
Himi浅谈4年游戏开发de自学历程!(仅供参考)【号更新】
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 游戏引擎怎么开发 的文章

 

随机推荐