游戏开发工具C2engine德语c2是什么水平平?

游戏开发工具与游戏引擎的关系还有html5流行的游戏开发工具_百度知道一个独立游戏制作人需要哪些知识?需要应用哪些工具?
需要的能力和知识:游戏的哲学。比较抽象,说简单一些就是游戏为什么有趣。有趣是游戏价值的核心,如果你想做出游戏给别人玩,这是最重要的一点。最好的了解方法是思考自己的游戏经历,从优秀的游戏设计中获得启发。也可以读一些这方面的书籍。多在纸上把自己的设计表达出来,自己评价一下,或者跟别人交流,它到底有不有趣?足够的面向对象编程基础。不管是从头写一个小游戏,还是利用比较完善的第三方引擎,都会遇到需要写代码的时候。语言可能是C++,C#这类静态语言,也可能是Lua,Ruby这类脚本语言。思想都是相连的,如果有C++或者Java面向对象编程的基础,掌握起来会快很多。艺术创作能力。这直接决定了游戏的表现力,涵盖的范围也非常广,比如美术设计,3D建模,纹理绘制,音效编辑,动画设计,剧本设计,分镜等等。独立游戏制作者常常要一个人包揽全部这些工作,而一个人很难在全部方面都做到专业,所以大多数独立游戏在艺术风格上都倾向于简单,风格化,凸显个性。数学。游戏是运动的,这种运动的控制往往需要精确的数学模型,比如一次平滑的镜头移动,一个富有弹性的界面动画,或者更复杂的骨架动画。这些都需要一定的数学能力,特别是数学分析、向量和矩阵算术。很多常见的效果都可以找到成熟的数学模型,但很多时候你还是需要用自己的数学知识去组合出理想的效果。对游戏程序的理解。这是我觉得每个游戏开发者都值得花时间去深入了解的。游戏的每一帧每一个像素是如何渲染到屏幕的?游戏程序的执行流程是怎样的?显卡的工作原理是什么?着色器是什么?什么是DirectX和OpenGL?脚本是什么,跟游戏的关系怎样?运行时游戏的艺术资源是如何加载和卸载的?用户的输入如何影响游戏的执行?AI与物理如何独立开发和整合到游戏中?这些很底层的东西是游戏程序真正区别于一般程序的神秘之处,一个成熟的游戏引擎往往已经将其中很多部分封装起来,使之更加易用,但这些仍然值得学习。如果说前几点是制作游戏的能力,这一点就是驾驭游戏的能力,不了解这些就去制作游戏,就好比不了解图像处理而去使用PS,尽管能做出些东西,但很难发挥引擎真正的威力,很多细节效果也无力企及。了解这些能让你明白游戏程序的精美之处,让你在平衡自己的设计时多一份从容。不必要但很有用的知识:工程和架构能力。游戏程序通常有很高的代码行数,而且会涉及到很多子系统,在后期制作中也经常需要代码重构。如果没有一定架构能力代码会很难维护,游戏也变得难以调整,性能低下。历史知识。这点可能不容易感觉出来,但是当你开始确定游戏背景和艺术设定的时候就会发现这特别有用。经济学常识。在确定游戏数值特性的时候特别有用。可以利用的工具:游戏引擎级别。UDK,CryEngine,Unity,这些都是足以开发行业水准游戏的开放引擎,其中UDK和Unity的教程和社区资料都相对更丰富。但我个人并不建议从这些大型引擎开始独立游戏开发,不仅学习成本高,而且无法了解到很多基础知识。我认为从一些简单的2D游戏引擎入手,或者根本不使用游戏引擎开发游戏是更好的选择。API级别。DirectX,OpenGL,XNA。这些都是用来支持游戏开发的API,包含了游戏开发所需的功能和服务。其中XNA使用C#开发,效率很高,初衷就是针对独立游戏开发者,社区资源也很丰富。DirectX相对更深层一些,需要比较强的C++功底,经过10.0和11.0两个版本后易用性和灵活性明显得到提升,相对好于OpenGL。OpenGL在精度和跨平台上强于DX,所以更多用在3D行业解决方案和苹果平台中。开发工具级别。Mac上可以使用Xcode,Windows上比较统一采用Visual Studio,如果使用游戏引擎的话一般都会自带各种环境和工具。视情况可能还需要一个顺手的脚本编辑器。书籍。书籍很重要,学习和实践是种平衡,系统的学习能避免走弯路,实际的开发能真正掌握技术。学习路线:起步阶段。我建议从XNA或者SDL一类的API开始学习,能够了解足够深层的原理,同时又不会涉及太复杂的图形学知识。可以自己尝试做一些简单的渲染程序了解显卡的工作方式,然后再做一个小巧的游戏引擎来辅助开发一些2D小游戏甚至更复杂一些的游戏。进阶阶段。足够了解游戏程序的工作方式以后可以尝试用比较成熟的游戏引擎开发游戏,比较推荐Unity,其次是UDK。这阶段可以多关注一下专业游戏的开发方法,比如资源创作,关卡设计,编写脚本,网络等等。高阶阶段。视兴趣可以多了解一些GPU编程、图形渲染的知识,还有行业中比较新的技术等等。对于爱好者这些可能都是过于高级,不太会用到的东西。但是如果今后想在行业中有所作为的话,这些都是有必要了解的。关于经验:经验在任何领域都比较重要。游戏开发中主要体现在对于游戏设计(游戏性),游戏感官(手感,视觉效果等)的控制上,特别是对细节的控制和取舍。独立游戏开发者的精力很有限,必须把有限的开发能力集中在让游戏更有趣上,过分的重视或忽视细节都是不好的。关于活动和社群:IGF,独立游戏节GDC,游戏开发者大会(行业级)我知识有限,大家将就着看 : )
正在学习制作独立游戏,引擎采用的是孤岛危机3所使用的CryEngine3.4,刚刚起步一个多月,肯定错误百出,希望可以抛砖引玉,毕竟大型拟真游戏应该会是游戏当中最复杂的一种。先来谈谈游戏基本要素(其实也是真实世界基本要素):1.关卡场景 主要包括地形,植被,河流,道路,洞穴,海洋等等地貌,以及建筑物等,主要特点是大范围,不易改变。2.生物,包括人和其他动物。3.物品,多是游戏当中可与环境交互,可破坏的较小物件。以上三者可以构成一个不真实的世界。若是想要仿真,我们需要:1.环境烘托
加入真实日夜循环系统,设定真实天光,使用全局光照模拟真实光照,利用高质量的阴影,HDR,自体投影以及SSAO产生逼真的层次感和光晕,利用体积光来模拟光柱,利用延迟光照实现多光源的照明,利用景深模拟远景虚化,运动还会产生模糊,利用粒子模拟火焰...总的来说,能令你从第一感觉上面认为这个场景是立体的。另外还要合理设置材质贴图,以令世界拥有合适外观,主要在于定义物品如何同外界的光交互(反射,折射,吸收等等),本身拥有何种属性(构成物是金属,陶瓷,玻璃...也就是模拟相对应物体的真实属性),以及通过多层贴图展现细节部分(例如玻璃上的花纹,泥点),利用凹凸贴图令物品产生立体感等等,材质决定质感,贴图补充细节。以上两点可以保证世界观感正常。2.天候 没有世界会是一成不变,一直艳阳高照不是长久之道,因此必须模拟气候条件,例如刮风,打雷,下雨,起雾,飘云,地震。并且要与世界进行交互,例如体积雾与体积云可与光线进行交互,产生各种散射现象,风可吹皱一池春水,雨可浸湿布料...3.满足以上条件,看起来是很美,但是若要符合客观规律,还要加入物理计算,最基本的要数碰撞检测,另外还要模拟重力,风力,软体(布料,头发),流体,关节(复杂机械)等等,为了逼真不可不提可破坏性,及其爆炸或者破坏后的粒子效果(烟雾,碎片)... 总的来说,物理计算决定了两种不同物理性质对象相互间的作用效果。4.声效
没声音,再好的戏也出不来,声效让人感觉这是一个生机盎然的世界,声音在于烘托气氛方面非常有效,并且产生对白配音,为了仿真我们便会使用立体声,HDR声效,EAX....总之,声效决定是否会产生代入感。5.满足以上条件只是建起一个自然环境,接下来还需要:游戏逻辑以及AI:真实世界故事发展流程必然会是事件驱动,因此游戏逻辑就是正常连接并且促动各个事件,因此涉及开关和促动器的运用(举例来说,当你来到升降梯前,激活开关,促动上升下降),亦即达到某个条件,激活某项事件,游戏技能大致可属此类,发动技能,影响其他对象...AI意为人工智能,会让游戏中的动物表现出与真实世界相同的行为,基础的如寻路,编制阵营...会表现出诸如狼会捕杀兔子,遇到强敌,还会结队对抗,敌人会躲在掩体后,会埋伏和包抄等等行为...,总之,游戏逻辑可以促进剧情发展,AI能让游戏中的生物认识这个世界,随着环境变迁,做出符合环境的行为来。6.以上步骤完成之后如同上帝造人,伊甸园和规则已经建立,接下来便是动起来——动画运用,没有动画车便不会移动,鸟也不会飞翔,人也没有表情,整个世界失去灵魂,动画分为角色动画,过场动画等等,过场动画可能还要考虑镜头位置。7.我的世界我作主,做游戏呢,主要乐趣在于创建自我世界,光看可不行啊,因此还要加入UI,用来管理世界物品,回馈世界信息,调整自身或是物体属性等等,若想和朋友来分享乐趣,那么还要通过网络单元,联网游戏,共同开拓这个世界。最后要好进行性能优化,以免跑不起来,成为镜花水月。下面来看需求知识以及工具:一个合适游戏引擎,目前SDK可免费使用的次世代游戏引擎推荐Unreal3以及CryEngine3,后者更为先进一些,毕竟Crysis系列历来都是显卡杀手,但是文档资源稀缺,没有中文版本,不算技术剖析,本地化后共计429篇文章,字数预计不下60W单词...自翻译中,另外需要注意,免费SDK所制作的游戏不可商业发布...首先来看,引擎提供什么,参照CryEngine文档来看,引擎主要提供以下部分:所见即所得的编辑视口,提供对象管理,可对物体执行移动,缩放,对齐等等基础操作,可以编组,可组Prefabs,提供大量基础物体类型或是对象原型(粒子对象,AI对象,声音对象等等),地形,植被,河流,道路等等地貌创建工具,天气系统,几乎可以点点按钮,生成一个自然环境,AI属性设置以及调试,材质编辑器,流程图编辑器,粒子及SFX,角色以及动画,分镜,声效,Lua执行环境,載具编辑...详细细节可以参考百科:Ps:这是一个早期版本,如今已经完善DX11支持,功能变得更为强大。概括来讲,游戏引擎集合了建模、动画光影、粒子特效,物理系统、碰撞检测以及文件管理、网络特性,设备支持还有专业的编辑工具(AI,材质等等)和插件(例如植被生成,大范围的地形生成),也就是说引擎提供架构,我们填充细节。了解显卡渲染过程,这个好处多多,例如摄像机镜头背面或是被遮挡的的东西,因为有z/stencil test不会渲染,所以细节不用制作。美术知识,游戏原画总要设定的吧,不过我是参考现实图片建模以及设置场景,绘画不给力啊,呜呜...,手绘推荐使用Photoshop。建模,概括的说,就是游戏当中物体以及人体轮廓,引擎当中提供一些简单建模工具,但是高模需要自己制作,推荐工具3ds Max,Zbrush。动画工具,概括来讲就是游戏中的动作,引擎已经预置部分动画,但是更精细的动画需要自己制作,推荐Maya。贴图制作,绘制物体外表,贴图分很多种(高光,漫反射,凹凸,颜色等等),可以通过材质编辑器进行组合,实现更精细的效果,推荐工具Photoshop,Xnormal。声音,分为声效以及音乐两种,声效是世界中的声音,音乐是烘托气氛用的伴音,这个需要自己录制或者利用没版权的音库...脚本语言,一个可执行Lua的环境和随便一个IDE(甚至文本编辑器)就好。游戏逻辑,这个自己发挥想象,推荐使用思维导图软件辅助策划。剧本 就是写故事咯界面 Flash即可其实制作游戏很像导演拍摄电影的说,吃完午饭坐在这里啰嗦半天,思路非常乱呀,毕竟独立制作游戏实在是个大工程呀。我自己的目标就是两年做个小的Demo...随着我的游戏逐渐成型,接着补充修正好了,现在才有一个雏形,很多想法都很感性,谢谢阅读。(不晓得有人读不,笑)
需要的知识:策划,程序,美术;工具:一款三维软件,一款平面软件,一款游戏引擎想学的话可以看下这个论坛各种视频教程
看对独立游戏的定位是什么了,爱玩游戏的程序员或许都有梦想自己做出个游戏吧,有的可以用现成的游戏引擎,制作的效率也高,而且比较快捷,不过得受各种引擎的限制,比如资金投入等。楼上说的都是3D游戏,用到主流的游戏引擎,很不错。再提供一个选择,用Flash完全可以开发出独立游戏。好吧,这个是有点功能弱些。不过做2D游戏还是比较方便的。有创意,有精美的画面,做来玩玩够用了~Unity也是个绝对不错的选择,用途比较广,效果也不差,现在越来越多的独立开发者加入这个阵营。做卡通风格3D游戏是个不错的选择。也可以做2D的。Cryengine嘛,引擎本身要求很高,适合做大型FPS游戏。
只要你是一个优秀的TA(请看左边链接)和一个优秀的策划(请看右链接)的混合物即可成为一个独立游戏制作人
来一个算是比较不着调的回答。游戏本身是个浩大的工程,很多游戏能让好几百人吭哧吭哧赶上个四五年,从青葱少年做到猥琐大叔最后才磨出头来,可想而知只有两三个苦逼码农美工的独立制作人有多难。技术上肯定是有很多困难,CryEngine一个子模块至少十万行代码,整个引擎代码超过250万行(3.0.1版本的时候统计的,现在已经到了3.4.x,肯定比这个数要多很多),可想而知这个事情有多复杂。一个虚拟现实方向的研究生最后毕业的时候能力的平均水平基本上也就是写一个简单的框架,做一些特效而已。但是最大的困难不是你用了什么引擎、使了什么技术,而是你能否扛下来这么长时间的投入?刚看了一个纪念独立制作游戏的纪录片[1],看完你就明白,想要做独立游戏是条尼玛的不归路啊。木有足够长的时间投入,最后必然是一个半成品。如果你去搜索一下开源的游戏项目,就会发现绝大部分项目都是不了了之的废品。即使你最终完成了,最后的市场反响也是一个大大的问号。也许花了几年的时间投入最终被玩家喷得想和他对骂,那赶脚是相当的郁闷。你是否真的对独立游戏有激情?你做好当苦行僧的准备了么?----[1]
已有帐号?
无法登录?
社交帐号登录&本系列由zhmxy555(毛星云)编写,转载请注明出处。&&文章链接:&http://blog.csdn.net/zhmxy555/article/details/8250057作者:毛星云(浅墨)&&&&邮箱:&&&&&&&&看到在留言中很多提到不太清楚DirectX与引擎的区别的问题,在这里浅墨就专门把自己对游戏引擎的一些理解写成一篇文章,作为我们《Visual 游戏》专栏的游戏引擎导论,也希望能通过这篇文章,能让大家有所启发,对游戏引擎,对渲染流水线的概念有更深刻的认识。文章首先分析了学习游戏引擎的必要性,然后介绍了游戏引擎的概念和相关,接着介绍了几款最具人气的开源游戏引擎,然后对市面上存在的所有游戏引擎进行了列举,并为所有列出的游戏引擎都给出了官方的链接。文章末尾回归了我们Direct3D的,为后续内容的讲解进行了铺垫。&&&一、学完DirectX,我们该干什么?&&浅墨觉得,历代DirectX龙书的作者Frank Luna在龙书中忽视了非常重要的一方面内容的讲解,那就是就是学完了DirectX我们接着该做什么。这大概是很多怀揣游戏开发梦想的热血青年们曾经思考过的问题。&浅墨也曾经在这问题上迷茫过,也因为没人指明前路而走了不少弯路。不过后来在黑暗中不断地摸索,将荆棘变成坦途之后,终于摸索出了一条正确的道路。也就是看完龙书《DIRECTX.9.0.3D游戏开发基础》之后,我们需要如何学习,来把学到的知识立体化,最终转化为开发游戏的实际能力。首先我们需要再看一本书,《Real-Time Rendering》,也就是(RTR)实时渲染,目前出到第三版了。(这本书并没有中文版,大家如果要走游戏开发的道路,读完龙书之后,剩下基本上都要靠读英文书了。)学完龙书,也可以选择自己喜欢的游戏引擎来接触并掌握了。看完龙书后浅墨首推学习Irrlicht,然后进阶推荐Ogre。两者都是开源游戏引擎,都有着源提供下载学习,而且网上对这两种引擎的研究热情很高,资料丰富,引擎字里行间都是哲思,掌握其中的代码并纳为己用,自己写出像样的游戏demo来是不成任何问题的。&&下面,就开始看看我们这篇文章的主角——游戏引擎&&&二、站在巨人的肩膀上:游戏引擎导论&&1.游戏引擎的起源和意义&上帝说,要有光,于是,就有了光。曾经有一段时期,游戏关心的只是如何尽量多地开发出新的游戏并把它们推销给玩家。尽管那时的游戏大多简单粗糙,但每款游戏的平均开发周期也要达到8到10个月以上,这一方面是由于技术的原因,另一方面则是因为几乎每款游戏都要从头编写代码,造成了大量的重复劳动。渐渐地,一些有经验的开发者摸索出了一条偷懒的方法,他们借用上一款类似题材的游戏中的部分代码作为新游戏的基本框架,以节省开发时间和开发费用。根据马克思的生产力学说,单位的成本因生产力水平的提高而降低,自动化程度较高的业者最终将把那些生产力低下的手工业者淘汰出局,引擎的概念就是在这种机器化作业的背景下诞生的。&简而言之,因为想用更短的周期开发游戏,省掉重复编写代码的功夫,于是便有了游戏引擎。&首款的3D引擎诞生于1992年,3D Realms公司/Apogee公司发布了一款只有2兆多的小游戏——《德军司令部》(Wolfenstein 3D)。之后这款游戏引申为Wolfenstein 3D游戏引擎,这也是史上首款3D引擎,它的作者是大名鼎鼎的约翰·卡马克,这位id 公司的首席师正是凭借这款Wolfenstein 3D引擎在游戏圈里站稳了脚跟。在此之后,游戏业界都受此启发,各式各样的游戏引擎层出不穷。而各种游戏引擎的出现,使得游戏开发并不需要从零开始,从而使得开发的周期大大缩短,也使开发成本大大降低。&游戏引擎崛起,游戏产业的黎明,就此降临。&&&2.什么是游戏引擎&游戏引擎好比赛车的引擎,是用于控制所有游戏功能的主程序,从计算碰撞、物理加速系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等。无论是角色扮演游戏、即时策略游戏、冒险解谜游戏或是动作射击游戏,哪怕是一个只有1兆的小游戏,都有这样一段起控制作用的代码。这里我们丢出一个概念。游戏引擎是指一些已好的可编辑游戏系统或者一些交互式实时图像的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出一款游戏作品,而不是从零开始写起,这样大大缩短了开发的效率,开发的时间和开发的成本。&可以这样说,游戏引擎让我们站在巨人的肩膀上进行游戏的开发,而不是从零开始。&&&3.一款完善的游戏引擎的构成&我们很大程度上将游戏引擎都理解为渲染引擎,分为2D图形引擎和3D图形引擎,其实游戏引擎并不单单指渲染引擎。渲染引擎只是一款完善的游戏引擎最重要的组成部分,而一款完善的引擎,还包含物理引擎,碰撞检测引擎,音效引擎,引擎,电脑动画引擎,引擎,引擎,场景管理引擎以及IO管理引擎等等。其中,3D引擎的渲染系统通常建立在一套或者多套高级的图形API之上,比如我们熟知的Direct3D与OpenGL。&&4.DirectX与游戏引擎的区别&很多朋友在评论中提到不清楚DirectX与游戏引擎到底有何区别,在这里我们就来展开讲一下,其实说起来非常简单。首先,DirectX是旗下的一种应用程序(API),它为各种品牌的硬件提供了一个共同的硬件驱动标准,无论你是什么牌子的硬件,只要你遵循DirectX约定的准则,用DirectX这套API开发出来的游戏就可以在你的硬件上很好的运行。DirectX,我们可以理解为他为硬件驱动。而Direct3D,只是DirectX之中负责3D图形渲染的一个组件而已。&游戏引擎是为了实现一款游戏雏形而编写的一系列可重用的代码,很多游戏引擎的渲染部分实现了对Direct3D的封装。我们可以理解游戏引擎为一系列的代码,而我们利用游戏引擎中已经现存的代码,开发起游戏来就能事半功倍。&所以,综合一下。DirectX可以理解为硬件的驱动,它为各种品牌的硬件提供了一个共同的硬件驱动标准。游戏引擎,是一系列构成一款游戏的可重用的代码,是用于控制所有游戏功能的主程序,游戏引擎的前身可为一款完整的游戏作品。&&&5.人气开源游戏引擎介绍&想事半功倍地开发出属于自己的游戏,在选择游戏引擎上是必须要下足功夫的。多半的游戏引擎都开源且免费授权的,也就是说,如果我们采用某款开源游戏引擎开发出了自己的游戏,无需任何费用,只要在我们的游戏作品中表示,使用了什么引擎来进行游戏开发的就可以了。也就是我们经常在很多游戏片头会看到的logo。Power by XXX,比如Power by Ogre。下面我们就来介绍几款目前比较火热的开源游戏引擎,我们用他们进行游戏开发是完全免费的:&Ⅰ.Irrlicht EngineIrrlicht Engine(鬼火引擎)始于2003年,次年即被评为最佳开源游戏引擎。它具有高性能的实时3D引擎,用C++编写,也可用于.Net语言。拓展语言绑定包含,perl,ruby,.跨平台支持,使用D3D,OpenGL以及自带API. Irrlicht Engine可以在移动平台以及iOS上使用。值得一提的是,鬼火引擎有专门的Andorid版。其功能特点可以与商业3D引擎相比。优点是容易掌握,好学。新手入门建议学习Irrlicht。&Ⅱ.OgreOGRE(面向对象的图形渲染引擎):OGRE是用C++编写的,以现场为导向,灵活的三维引擎,它主要用于那些利用硬件加速的3D图形应用程序。它的类库提取了所有基础系统库的细节,如Direct3D和OpenGL ,并提供了一个基于世界对象和其他直观类的界面。Ogre支持跨平台,也就是说,Ogre理论上可以在Android以及iOS等移动平台上使用,不过需要进行相关的移植。Ogre人如其名,完全采用面向对象的思想来进行设计,整体结构显得非常优雅,宛如一件。在开源游戏引擎中,Ogre有着最华丽的渲染质量,可以和大多数3D商业引擎的渲染效果一较高下。浅墨非常喜欢这款开源引擎,只可惜它仅仅是图形引擎,而不是功能全面完整的游戏引擎。值得一提的是, 目前非常具人气的ARPG游戏《火炬之光》系列就是采用的Ogre引擎。这里我们贴一些日刚上市的《火炬之光2》的游戏美图:&好了,看完绚丽的游戏截图,下面我们继续来学习。相信总有一天,我们也可以亲手写出这样优秀的游戏作品出来。&&Ⅲ.Delta3DDelta3D:Delta3D是一个功能齐全的游戏引擎,可用于游戏,模拟或其他图形应用。其模块化设计集成了其他的开源,如‘开放场景图’,‘开放动力学引擎’,‘人物动画库’和‘OpenAL’ 。Delta3D把这些开源项目集成到一个易于使用的应用程序编程接口中。&&Ⅳ.NeoEngineNeoEngine:NeoEngine是一个全功能的用C++编写的开源3D三维游戏引擎。该引擎是多平台的,包括OpenGL和DirectX渲染功能,支持 ,和Mac OS X系统,它提供了场景管理,顶点和像素着色,骨骼动画和物理,脚本以及一个完全集成的工具链。&Ⅴ.BulletBullet:Bullet是三维游戏多重物理库,提供最先进的碰撞检测,柔软身体和刚体动力学。这个游戏引擎被许多AAA级的游戏公司用在PS3 ,Xbox 360 ,任天堂的Wii、以及PC上 。这个库可以免费用于商业用途。&Ⅵ.Power RenderPower Render:Power Render是一个为游戏和3D图形准备的工具包。它为开发者提供了一个API,为美工准备了一些工具,这些工具可以实时预览3ds Max、Maya和Lightwave的。新版本还可以预览高范围成像并支持OpenEXR文件格式。下载 Power Render 6 (35.1MB exe)。&&&6.一些思考&很多朋友也会想到,既然都有了现成的游戏引擎为我们封装好各类DirectX和OpenGL的库函数,甚至做出了各类可视化的设计工具,让我们无需了解调用的细节就可以用这些工具来制作出自己的游戏,那我们是不是就不用去学习图形API,也就是不用去学习Direct3D(或者OpenGL)了?一千个人人眼中有一千个哈姆雷特。如果你是本着快速开发一款游戏就完事交差的心态,知其然不知其所以然,DirectX其实并不用去学习,直接去学习一款好的游戏引擎的SDK就可以了。如果你是本着学习求知的心态,想要把游戏开发的各方面知识和细节做到心中有数,甚至以后想自己写一款游戏引擎,DirectX(或者OpenGL)是必须要学的。学完DirectX(或者OpenGL)之后,再来接触一款游戏引擎,接触它的,我们就有资本看懂这些的实现细节,就可以很容易地把这款游戏引擎使用DirectX(或者OpenGL)进行渲染的细节脉络看得清清楚楚。经常我们还涉及到了各种不同版本硬件渲染的支持问题,比如DirectX 8与DirectX9,这时候就会考验我们对图像API的掌握情况。 同样,掌握了DirectX(或者OpenGL)更利于我们对渲染的优化。&&&&&7.市面上各类游戏引擎的列举&最后,下面我们列举出市面上存在的游戏引擎,点击各个引擎的名字就可以跳到相应的引擎官网地址了。需要指出的是,这里的引擎有的只是图形引擎,有的只是物理引擎,也就是说并不都像那些完善的商业引擎,比如虚幻3引擎(Unreal Engine3)一样,具有完善而功能全面的物理引擎,碰撞检测引擎,音效引擎,脚本引擎,电脑动画引擎,人工智能引擎,网络引擎,场景管理引擎以及IO管理引擎等等。&&开源2D引擎:&cocos2dd2d ika AGen gosu Mokoi Gaming LOVE Gosu PTK Thousand Parsec PPTactical Engine elf2d Daimonin MMORPG Blackthorn lastexpressengine tamy stardust ruge MAGE Edge Game Engine Orx chingu(Ruby) HGE FlatRedBall DxIce exgine(dephi) Entropia OSARE ProtoEngine() mofe tonk(Python) Bismuth Engine retroremakes-framework scage(Scala) ArcLib tIDE flamingoengine(Python) Ethanon angel engine FIFE project Nova Weaver(Linux) verge 3 GTGE ArcEngine &&&开源3D游戏引擎&Ogre Crystal Space Delta3D Irrlicht Engine CHAI 3D Cafu Engine ZFXCEngine Q3Viewer Drag[en]gine DUMB(Linux) DXQuake3 Brume Open Toolkit RaydiumEn PySoy (Python) pygame(Python) BlendELF Ambrose3D AgateLib(.NET) D’Enfent Engine Asphyre Sphinx(Delphi) pyggel(Python) NeoEngine Horde3D ika Lightfeather syBR Engine SoftPixel Engine SED RomantiqueX(XNA) GLOBE_3D NeL Engine NewWorld3D M0TE MUD Designer(C#) Muli3D Linderdaum Lilith3D(Geo-Morphing) Entropia Engine SxDL APOCALYX 3D Engine Genesis3D QuakeForge NetGore (C#) Stratagus SDL PLIB ClanLib SDK GLFW Allegro 3DzzD Jad Engine (C#) Agar 6DX 3D Engine OSG Cube 2: Sauerbraten SCEngine vbGORE TNT Basic nebula3 Sphere RPG engine. GhostEngine Hazy Mind(XNA) nagine3d mako engine aeon3d mcore3d tubras mgep Sylphis3D Yage XreaL Q 2.0 Quesa Reactor3D(XNA) Metrolog Xg plush Lystra Engine LightFire(C#) LEAF2 Lightning Engine jMeteor QBasic Lightspeed 3D(MacOS) Protea Original3D Purple# Cat Mother ExoEngine Poly Engine XEngine Xvizn Yake OpenSpace3D rgdengine ezrpg() glueengine(C#) G3DRuby netgore(C#) fosengine u-nebula renderengine(JavaScript) ltegameengine axonengine jgge Espresso3D RetinaX Reality Factory gmogre3d prequengine Epee Engine Axiom 3D Engine G3D OHRRPGCE Open Game Engine Baja Engine Blender Irmo Xith3D Soya 3D(Python) Panda3D Quake Engine3 Quake Engine2 Amaltheia Quake Engine &&&商业通用游戏引擎:&Unreal ENGINE3 CryENGINE3 Gamebryo Vision Engine unity3d Source Engine Shiva 3D Unigine Torque 3D C4 Engine Truevision3D Demoniak3D CSP engine license Codecreatures Buzz 3D 3DSTATE Antiryad Gx Glacier Esperient Creator Lucid ludiloom Luxinia LawMaker GameStart Glint 3D ScriptENGINE Esenthel Engine GameCore Nowhere Engine S2Engine Quest3D Exocortex Frame Simulator Codecreatures worldaxis3d Xors3d VRcontext CPAL3D Ready At Dawn Engine Nytro Game Engine game start3d Visual3D Game Engine Vicious Cycle Software MetaVR Grualia Game Engine Gamestudio BlitzMax Cipher Game Engine Visual3D Game Engine Wild Pockets 3DVIA Virtools Vicious Engine VATAN ENGINE Cobra 3D engine(Cobra ) Qube Software FreshEngine(PSP) Shark 3D eye-sys NeoAxis Game Engine DX Studio 3DVIA Virtools Agency9 Abyssal Engine &&商业MMO游戏引擎:&Hero ENGINE Realm Crafter Zythum-Project Bigworld Chaos Game Engine Prime Engine Multiverse &&&Android 2D开源游戏引擎:&AGE Angle cloak Cocos2D juicygames libgdx Rokon mages c engine andengine &Android商业游戏引擎:Roar Engine &Android 3D开源游戏引擎:catcake jPCT-AE kwaak3 Gamine Alien3D get3d Papaya &&商业游戏引擎:airplaysdk PlaytoTv Kanji Shiva Ston3d iTGE Bork 3D Unity For iPhone GameSalad iXors3d &&iPhone开源引擎:&galaxyengine gamekit Oolong SIO2 chipmunk-physics card-surface Tec engine &关于游戏引擎的部分就讲解完了,如果上面的列表有疏漏或者不准确的地方,欢迎大家纠错。&&&&&&&下面我们来回归到目前的讲解进度中来,关于Direct3D的渲染流水线。&&&三, Direct3D渲染流水线的两套体系&&在Direct3D中,有两套实现图形渲染的方案,第一套为固定功能渲染流水线(fixed function render pipeline),另一套为可编程渲染流水线(programmable render pipeline)。顾名思义,从字面上就可以看出这两套方案的一些端倪出来。下面我们先来分别简单介绍一下Direct3D中两套渲染体系的特点和整体思路,给大家一个大体的概念。在介绍之前,有一个必须事先跟大家说清楚的实事,就是在DirectX 10以及DirectX11中,固定功能渲染流水线已经被移除了,而可编程渲染流水线则得到了重用,这反映了一个明显的趋势。目前,我们主要涉及到DirectX的有三个版本,有DirectX 9,DirectX 10以及DirectX 11。下面我们先分别介绍一下。DirectX 9,一路走来,追捧者无数,一手遮天,是目前PC游戏界的中流砥柱,占据着DirectX家族的绝大多数市场份额。DirectX 10,这个悲剧的孩子由于搭载了坑爹的Windows Vista,生不逢时,注定了它此生的坎坷和怀才不遇。DirectX 11,这位才华横溢的孩子,在合适的时间出现在了合适的操作系统——Windows 7上,会在未来几年内取得不错的成绩。而在国内的话,DirectX 11的普及,估计还得更久。&&虽说在DirectX 10以及DirectX11中,固定功能渲染流水线已经被移除了,但是在目前的主流DirectX 9里面,固定功能渲染流水线依然占有着举足轻重的地位,我们只是会在后面的介绍中淡化它,但我们仍然需要掌握它,以备不时之需。最后我们来分别介绍一下这两套Direct3D的渲染体系吧:&&&Ⅰ.固定功能流水线&第一套方案,固定功能渲染流水线(fixed function render pipeline)。顾名思义,固定功能渲染流水线(fixed function render pipeline)从某种意义上来讲是固定的(fixed)。它有着自己的一套准则,关于光照,关于矩阵变换。要进行一个完整而全面的渲染操作,基本上都是按以下步骤进行的:填充顶点数据,指定纹理坐标,设置材质,设置光照,设置变换矩阵,设置渲染状态,最终绘制图形。这里先给大家一个步骤上的概念,后续文章中会详细给大家介绍的。很多时候,我们只需要遵守着这套固定的准则一步一步地进行相关代码的书写,就完全可以驾驭这种渲染方法了。我们使用固定功能渲染流水线进行画面的渲染,说穿了就是根据我们的需要,不断地通过Direct3D设备指针调用一些Direct3D中预设的函数,比如用SetRenderState()设置各式各样的渲染状态,SetSamplerState()设置各式各样的采样状态等等。至于场景的处理和绘制的内部过程我们无需插手,Direct3D的引擎会根据我们设置的各种渲染状态,自己来完成,非常的人性化。由于这种渲染方案在新版的Direct3D中被移除,所以很多时候我们只需稍微了解,在后面,我们会淡化固定功能流水线的使用,而更多地对 “写shader”进行讲解,也就是目前使用广泛的可编程渲染流水线。&Ⅱ.可编程渲染流水线&最后,下面我们就来大概了解一下目前的渲染技术的趋势——可编程渲染流水线。&而可编程渲染流水线(programmable render pipeline)就有着很大的不同了。通常我们说的自己写shader就是指的这套渲染体系,这是目前3D编程的大趋势。从字面意义上来说,它是可编程的,很灵活,而不是固定的。这样我们就可以通过代码的书写,着手去实现那些在固定功能流水线中不太好实现的技术和效果,从而升华了我们的渲染技术。可编程渲染流水线中的核心,是着色器(shader)。而在Direct3D 9中,我们主要关注的是顶点着色器(vertex shader)和像素着色器(pixel shader)。也就是说,我们为着色器编写一些规模较小的代码,然后在GPU上进行编译和运行,这就是所谓的可编程渲染流水线的精髓。关于我们在可编程渲染流水线中使用的,是一种编译和运行在GPU(Graphic Processing Unit)图形之上的Direct3D中独有的着色器编程语言——HLSL(High Level Shader Language)高级着色器语言。关于这种着色器编程语言,后面我们会详细介绍。&&关于后续的讲解思路,我们会先大致了解固定渲染流水线,然后重点学习可编程渲染流水线,再者,就是选择一个3D游戏引擎进行系统学习了。&以上就是本节笔记的全部内容,更多精彩内容,且听下回分解。&浅墨在这里,希望喜欢游戏开发系列文章的朋友们能留下你们的评论,每次浅墨登陆看到大家的留言的时候都会非常开心,感觉自己正在传递一种信仰,一种精神。 &另外,浅墨刚刚参加了2012年CSDN年度博客之星的评选活动。在这里,恳请支持浅墨,喜欢游戏开发系列文章的朋友们去投浅墨一票,有了大家的支持,浅墨会更用心地写出更优秀的博客文章来与大家分享,把技术分享这种信仰传递下去。大家的支持就是浅墨继续写下去的动力~~~&&&&如果文章中有什么疏漏的地方,也请大家指正。&&文章最后,依然是【每文一语】栏目,以此共勉:&当你打算放弃梦想的时候,告诉自己再多撑一天,一个星期,一个月,再多撑一年吧。等到繁华落尽的时候,你会发现,拒绝退场的结果,是一种怎样的美好。&&下周一,让我们离游戏开发的梦想更进一步。下周一,游戏开发笔记,我们,不见不散。&&&&&}

我要回帖

更多关于 德语c2是什么水平 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信