精华内容
下载资源
问答
  • 3D引擎

    千次阅读 2010-05-21 22:05:00
    简介 3D引擎是将现实中的物质抽象为多边形或者各种曲线等表现形式,在计算机中进行相关计算并输出最终图像的算法实现的集合。 分类 3D引擎根据是否能够被主流计算机即时计算出结果分为即时3D引擎和离线3D引擎。PC...

    简介  3D引擎是将现实中的物质抽象为多边形或者各种曲线等表现形式,在计算机中进行相关计算并输出最终图像算法实现的集合。

    分类

      3D引擎根据是否能够被主流计算机即时计算出结果分为即时3D引擎和离线3D引擎。PC机游戏机上的即时3D画面就是用即时3D引擎运算生成的,而电影中应用的3D画面则是用离线3D引擎来实现以达到以假乱真的效果。

      3D引擎对物质的抽象主要分为多边形和NURBS两种。在即时引擎中多边形实现已经成为了事实上的标准,因为任何多边形都可以被最终分解为容易计算和表示的三角形。而在离线引擎中为了追求最好的视觉效果会使用大量的NURBS曲线来实现多边形很难表现出的细节和灵活性。

    定义

      3D引擎作为一个名词已经存在了很多年,但即使是一些专业的引擎设计师,也很难就它的定义达成一个共识。通常来说,3D引擎作为一种底层工具支持着高层的图形软件开发。你可以把它看成是对3D API的封装,对一些图形通用算法的封装,对一些底层工具的封装。我无法准确的定义3D引擎的含义和作用,因为针对不同的用户和开发项目,3D引擎完成的功能可能都有不同。因此,我将从功能的角度来定义3D引擎,这种定义法也许能更确切的表达出一个3D引擎的真实含义。

    功能

      3D引擎最基本的功能应该包括:

    1. 对3维场景的数据管理

      这里的数据管理是一个比较广泛的定义,不同的3D引擎也许会拥有其中一个或多个功能。这些功能包括:场景管理,对象系统,序列化,数据与外部工具的交互,底层3维数据的组织和表示。

      场景管理:这个名称相信对3D引擎有一定认识的朋友都很熟悉了。通常它和SceneGraph同时存在于一些架构方面的资料中。由于3D引擎可能会用来管理一些庞大的3D世界,在这个世界中物体与物体之间通常存在一些 相关/从属/影响与被影响关系,如何组织这些关系,并确切的将这些关系与3D引擎的其他功能联系起来,就是场景管理需要完成的工作。常有朋友问我场景管理是用的哪种算法。从我的理解来讲,场景管理是一种设计模式,而不是一个具体的算法,也许你会最终选择BSP/QuadTree/Portal/...作为场景管理树的结构,但是这些已经是实现层面的东西了,而且它们也远远不是场景管理的全部。因此我认为Scene Manager 和Scene Graph manager 这两个概念还是分开理解比较好。

      场景管理首先需要考虑如果表达场景中物体的关联关系,这部分通常是由场景图来实现的。通过一个一对多的树形结构已经可以满足要求,当然考虑到数据层的共享和维护,允许子树进行Clone也是前期设计时需要考虑的一个方面。再此之后,就需要考虑物体之间材质的继承关系,动态环境如何嵌入到你选择的场景图中。在一个考虑到交互和触发机制的引擎中,还需要考虑物体之间如何发送消息。(比如一个结合了物理引擎的场景)。实际上在整个引擎中你所涉及到的各种算法和设计,都或多或少的会和场景管理发生联系。比如在一个实现动态光影的引擎中,物体之间如何实现相互遮挡,光源的影响范围如何在场景图上继承,都是在设计时需要考虑的问题。

    2。功能合理的渲染器

      之所以要说是合理的渲染器,是因为一个引擎的渲染能力是由多方面决定的。比如一款以实时游戏作为目标的游戏,会选择基于光栅化的渲染算法。在这种设计前提下,几何体一级的数据不会过于详细,例如物体表面的BRDF,折射率,纹理坐标空间的变化率,切线空间的变化率(当然随着硬件能力的提升和Shader能力的发展,这些数据也会出现在一些比较高级的游戏引擎中),这时候即使你在设计初期就考虑到这些数据需求,并将它们表现在了Render中,最后也不会由任何意义。

    3。与外部软件的交互能力

      简单的说,就是开发工具。任何一款3D引擎如果没有开发工具都不能称为是完整的。这些开发工具可能是一些文件转换器,场景编辑器,脚本编辑器,粒子编辑器....

      有了上面3种功能,就可以称为3D引擎了。当然,如果要开发一款功能强大的引擎,那还有很多很多的功能需要满足,其中一些功能将在后面的章节中有详细的描述。

    发展历史

    引擎的诞生(1992年~1993年)

      1992年,3D Realms公司/Apogee公司发布了一款只有2兆多的小游戏——《德军司令部》(Wolfenstein 3D),稍有资历的玩家可能都还记得初接触它时的兴奋心情,用“革命”这一极富煽动色彩的词语也无法形容出它在整个电脑游戏发展史上占据的重要地位。这部游戏开创了第一人称射击游戏的先河,更重要的是,它在X轴和Y轴的基础上增加了一根Z轴,在由宽度和高度构成的平面上增加了一个向前向后的纵深空间,这根Z轴对那些看惯了2D游戏的玩家造成的巨大冲击可想而知。 Wolfenstein 3D引擎的作者是大名鼎鼎的约翰·卡马克,这位id Software公司的首席程序师正是凭借这款Wolfenstein 3D引擎在游戏圈里站稳了脚跟。事实上,《德军司令部》并非第一款采用第一人称视角的游戏,在它发售前的几个月,Origin公司就已经推出了一款第一人称视角的角色扮演游戏——《创世纪:地下世界》(Ultima Underworld),这款角游戏采用了类似的技术,但它与Wolfenstein 3D引擎之间有着相当大的差别,举例来说,《地下世界》的引擎支持斜坡,地板和天花板可以有不同的高度,分出不同的层次,玩家可以在游戏中跳跃,可以抬头低头,这些特性Wolfenstein 3D引擎都无法做到,而且从画面上看,《德军司令部》更接近漫画风格而不是传统的像素画面。 尽管从技术细节上看,Wolfenstein 3D引擎比不上《创世纪:地下世界》的引擎,但它却更好地利用了第一人称视角的特点,快速火爆的游戏节奏使人们一下子记住了“第一人称射击游戏”这个单词,而不是“第一人称角色扮演游戏”。《德军司令部》后来还发布过一款名义上的续集——《三元的崛起》(Rise of the Triad),这款游戏在Wolfenstein 3D引擎的基础上增加了许多重要特性,包括跳跃和抬头低头等动作。 引擎诞生初期的另一部重要游戏同样是出自id Software公司的一款非常成功的第一人称射击游戏——《毁灭战士》(Doom)。Doom引擎在技术上大大超越了Wolfenstein 3D引擎,《德军司令部》中的所有物体大小都是固定的,所有路径之间的角度都是直角,也就是说你只能笔直地前进或后退,这些局限在《毁灭战士》中都得到了突破。尽管游戏的关卡还是维持在2D平面上进行制作,没有“楼上楼”的概念,但墙壁的厚度可以为任意,并且路径之间的角度也可以为任意,这使得楼梯、升降平台、塔楼和户外等各种场景成为可能。 由于Doom引擎本质上依然是二维的,因此可以做到同时在屏幕上显示大量角色而不影响游戏的运行速度,这一特点为游戏创造出了一种疯狂刺激的动作风格,在这方面迄今为止大约只有《英雄萨姆》(Serious Sam)系列能与之相比,除此之外还没有哪款3D引擎能在大批敌人向你涌来的时候依然保持游戏的流畅,这也是为什么如今市面上的大部分第一人称射击游戏都在积极地培养玩家的战术运用能力、提高玩家的射击准确率而拒绝滥砍滥杀的主要原因之一。值得一提的是,尽管Doom引擎缺乏足够的细节度,但开发者仍然在《毁灭战士》中表现出了惊人的环境效果,其纯熟的设计技巧实在令人赞叹。 不过更值得纪念的是,Doom引擎是第一个被用于授权的引擎。1993年底,Raven公司采用改进后的Doom引擎开发了一款名为《投影者》(ShadowCaster)的游戏,这是游戏史上第一例成功的嫁接手术。1994年Raven公司采用Doom引擎开发《异教徒》(Heretic),为引擎增加了飞行的特性,成为跳跃动作的前身。1995年Raven公司采用Doom引擎开发《毁灭巫师》(Hexen),加入了新的音效技术、脚本技术以及一种类似集线器的关卡设计,使你可以在不同关卡之间自由移动。Raven公司与id Software公司之间的一系列合作充分说明了引擎的授权无论对于使用者还是开发者来说都是大有裨益的,只有把自己的引擎交给更多的人去使用才能使引擎不断地成熟起来。 《毁灭战士》系列本身就相当成功,大约卖了350万套,而授权费又为id Software公司带来了一笔可观的收入。在此之前引擎只是作为一种自产自销的开发工具,从来没有哪家游戏商考虑过依靠引擎赚钱,Doom引擎的成功无疑为人们打开了一片新的市场。

    引擎的转变(1994年~1997年)

      在引擎的进化过程中,肯·西尔弗曼于1994年为3D Realms公司开发的Build引擎是一个重要的里程碑,Build引擎的“肉身”就是那款家喻户晓的《毁灭公爵》(Duke Nukem 3D)。《毁灭公爵》已经具备了今天第一人称射击游戏的所有标准内容,如跳跃、360度环视以及下蹲和游泳等特性,此外还把《异教徒》里的飞行换成了喷气背包,甚至加入了角色缩小等令人耳目一新的内容。在Build引擎的基础上先后诞生过14款游戏,例如《农夫也疯狂》(Redneck Rampage)、《阴影武士》(Shadow Warrior)和《血兆》(Blood)等,还有台湾艾生资讯开发的《七侠五义》,这是当时(至今依然是)国内不多的几款3D射击游戏之一。Build引擎的授权业务大约为3D Realms公司带来了一百多万美元的额外收入,3D Realms公司也由此而成为了引擎授权市场上的第一个“暴发户”。不过从总体来看,Build引擎并没有为3D引擎的发展带来任何质的变化,突破的任务最终由id Software公司的《雷神之锤》(Quake)完成了。 《雷神之锤》紧跟在《毁灭公爵》之后发售,两者孰优孰劣一时之间成为玩家的热门话题。从内容的精彩程度来看《毁灭公爵》超过《雷神之锤》不少,但从技术的先进与否来看,《雷神之锤》是毫无疑问的赢家。Quake引擎是当时第一款完全支持多边形模型、动画和粒子特效的真正意义上的3D引擎,而不是Doom、Build那样的2.5D引擎。此外Quake引擎还是连线游戏的始作俑者,尽管几年前的《毁灭战士》也能通过调制解调器连线对战,但最终把网络游戏带入大众的视野之中的是《雷神之锤》,是它促成了电子竞技产业的发展。 一年之后,id Software公司推出《雷神之锤2》,一举确定了自己在3D引擎市场上的霸主地位。《雷神之锤2》采用了一套全新的引擎,可以更充分地利用3D加速和OpenGL技术,在图像和网络方面与前作相比有了质的飞跃,Raven公司的《异教徒2》(Heretic II)和《军事冒险家》(Soldier of Fortune)、Ritual公司的《原罪》(Sin)、Xatrix娱乐公司的《首脑:犯罪生涯》(Kingpin:Life of Crime)以及离子风暴工作室去年夏天刚刚发布的《安纳克朗诺克斯》(Anachronox)都采用了Quake II引擎。 Quake II引擎的授权模式大致如下:基本许可费从40万美元到100万美元不等,版税金视基本许可费的多少而定,40万美元的许可费大约需提取10%以上的版税金,100万美元的许可费则提取很少一部分版税金。这样算下来,《雷神之锤2》通过引擎授权所获得的收入至少有一千万美元,尽管游戏本身的销售业绩比起《毁灭战士》来要差很多,大约卖了110多万套,收入在4500万美元左右,但在授权金这一块它所获得的盈利显然要远远高于《毁灭战士》,此时的引擎已经从一种单纯的工具变成了一块令人垂涎欲滴的肥肉。 俗话说“一个巴掌拍不响”,没有实力相当的竞争者,任何市场都无法发展起来的。正当Quake II独霸整个引擎市场的时候,Epic Megagames公司(即现在的Epic游戏公司)的《虚幻》(Unreal)问世了。毫不夸张,第一次运行这款游戏的时候,我的确被眼前的画面惊呆了,尽管当时只是在300x200的分辨率下运行的这款游戏(四大悲事之一:玩游戏机器不够劲)。除了精致的建筑物外,游戏中的许多特效即便在今天看来依然很出色,荡漾的水波,美丽的天空,庞大的关卡,逼真的火焰、烟雾和力场等效果。从单纯的画面效果来看,《虚幻》是当之无愧的佼佼者,其震撼力完全可以与人们第一次见到《德军司令部》时的感受相比。 Unreal引擎可能是使用最广的一款引擎,在推出后的两年之内就有18款游戏与Epic公司签订了许可协议,这还不包括Epic公司自己开发的《虚幻》资料片《重返纳帕利》,其中比较近的几部作品如第三人称动作游戏《北欧神符》(Rune)、角色扮演游戏《杀出重围》(Deus Ex)以及永不上市的第一人称射击游戏《永远的毁灭公爵》(Duke Nukem Forever),这些游戏都曾经或将要获得不少好评。 Unreal引擎的应用范围不限于游戏制作,还涵盖了教育、建筑等其它领域。Digital Design公司曾与联合国教科文组织的世界文化遗产分部合作采用Unreal引擎制作过巴黎圣母院的内部虚拟演示,Zen Tao公司采用Unreal引擎为空手道选手制作过武术训练软件,另一家软件开发商Vito Miliano公司也采用Unreal引擎开发了一套名为“Unrealty”的建筑设计软件,用于房地产的演示。 这款与《雷神之锤2》同时代的引擎经过不断的更新,至今依然活跃在游戏市场上,丝毫没有显出老迈的迹象,实属难得。

     

    展开全文
  • flash 3D引擎away3d源码

    2011-10-18 10:55:27
    flash 3D引擎 away3d源码 flash 3D引擎 away3d源码 flash 3D引擎 away3d源码 flash 3D引擎 away3d源码 flash 3D引擎 away3d源码 flash 3D引擎 away3d源码
  • 3D引擎 我正在使用的3D游戏引擎的专用存储库 未经事先询问,请勿复制我的任何代码。 如果出于某些原因您想与我联系的最佳方式是不和谐,请联系:Ciubix8513#6626
  • 易语言源码易3D引擎.rar 易语言源码易3D引擎.rar 易语言源码易3D引擎.rar 易语言源码易3D引擎.rar 易语言源码易3D引擎.rar 易语言源码易3D引擎.rar易语言源码易3D引擎.rar 易语言源码易3D引擎.rar
  • 3d引擎源代码

    2019-03-04 09:29:06
    3d引擎源代码,简单易懂,源代码,功能强大,很好入门
  • android3D引擎:min3d

    热门讨论 2012-05-04 15:48:23
    android3D引擎,min3d,view叠加glSurfaceView 自己在原工程中添加了Test类,实现了view叠加glSurfaceView
  • Away3D Flash 3D引擎

    2010-12-24 19:33:14
    Away3D是一款比较好的flash 3D引擎,相对比较稳定,
  • 3D引擎概述

    2016-08-26 09:32:43
    一、什么是3D引擎?二、3D引擎能做哪些事情? 开发游戏、VR、AR等等 三、引擎分类 商业引擎 UE4/UE3、CryEngine、BigWorld、Torque、Unity 开源引擎 Ogre 自研引擎 三、开发3D引擎需要具备哪些能力 C++ 图形库...

    一、什么是3D引擎?

    二、3D引擎能做哪些事情?

    • 开发游戏、VR、AR等等

    三、引擎分类

    • 商业引擎
      UE4/UE3、CryEngine、BigWorld、Torque、Unity
    • 开源引擎
      Ogre
    • 自研引擎

    三、开发3D引擎需要具备哪些能力

    • C++
    • 图形库(DirectX、OpenGL)
    • GPU编程
    • 设计模式(工厂模式)
    展开全文
  • 最新 Away3D 引擎

    2010-03-05 15:11:44
    最新away3D 引擎包最新away3D 引擎包最新away3D 引擎包最新away3D 引擎包最新away3D 引擎包最新away3D 引擎包最新away3D 引擎
  • 著名3d引擎Destiny3D

    2009-07-30 17:02:13
    知名3d引擎Genesis3D的c++版,拥有广泛的使用者和活跃的社区
  • 易语言3D引擎源码

    2013-03-31 13:18:06
    易语言3D引擎源码分享,史无前例
  • 体系结构 ... 为了更好地理解游戏的软件架构和对象模型,它获得更好的外观仅有一名Unity3D的游戏引擎和编辑器是非常有用的,它的主要原则。 Unity3D 引擎 Unity3D的是一个屡获殊荣的工具,...

     

    体系结构

       为了更好地理解游戏的软件架构和对象模型,它获得更好的外观仅有一名Unity3D的游戏引擎和编辑器是非常有用的,它的主要原则。

    Unity3D 引擎

       Unity3D的是一个屡获殊荣的工具,用于创建交互式3D应用程序在多个platforms.Unity3D由游戏引擎和编辑器。该引擎包含的软件组件,在游戏的研究与开发中最常见的和经常性的任务。发动机所涵盖的主题包括声音,图形,物理和网络功能。该引擎支持C#,Boo,和JavaScript脚本编程。 
    另一个部分是Unity编辑,作为脚本和其他组件,包含游戏场景设置和游戏的预览窗口(见图4)分层对象检查项目面板的集成开发环境。它还配备了几个多语言脚本编辑器和一个独特的预制装配系统,将在后面解释。

      

                                                              图4:Unity3D编辑器

    有几个Unity的许可证。Unity基本功能有限的免费PC的MAC和Web  development.Other 的平台或完整的功能集[15]需要购买额外的许可证。 
    虽然有很多免费软件和专有的替代游戏引擎,如虚幻引擎™或C4™引擎选择了Unity的原因如下: 
    *它可以部署在Windows,Mac  OSX ,Web浏览器,Wii游戏机,iPhone,iPad的,Android的,微软Xbox 360和PlayStation 3。它甚至在未来计划增加闪存和Linux部署。的的部署possbilities提供很多的可能性,使用的游戏引擎或游戏引擎货币化或进一步研究。

      * Unity社区非常支持和引擎,以及编辑器是有据可查的。

    * 发动机是比较容易学习和工作,并通过提供所有的工具,快速原型和迭代以及快速的脚本编译支持快速软件开发的想法。

    * 可能部署的iPhone,iPad和iPod touch的iOS基本许可证与其他厂商相比,相对低廉的价格。创建机甲和坦克使用Unity3.0,C # 脚本和MonoDevelop的IDE进行开发。你可以找到一个Unity教程附录。

    Unity3D的简史

       下列日期说明在2001年和2011年[16]之间的Unity引擎的演变。 
     ◾2001年Unity技术在2001年开始开发自己的游戏引擎。当时的主要诱因是创建游戏,这些游戏的基础,并创造了良好的工具[1]。 
     ◾2003年在2003年的公司,由此产生的引擎将是一个伟大的产品本身的。 
     ◾2005年在2005年Unity1推出苹果的WWDC的舞台上。 
     ◾2007Unity2.0在2007年推出,并增加了地形引擎,实时动态阴影和视频播放等等。 
     ◾2008年在2008年推出Unity的iPhone和卡通网络推出FusionFall,游戏已经播放超过800万人次。 
     ◾2010年在2010年Unity3.0发布了几十个新功能,如资产管理和兽光照贴图。 
     ◾2011团结超过500万的开发者和60万网络播放器安装。

    游戏架构

       机甲和坦克的架构组成模块和Unity的场景架构。

      主要模块

         本节介绍了最重要的模块和子系统级别上他们的关系。游戏的建筑风格,是一个对象与数据capsules.The的下面的UML组件图说明子系统及其关系网络。

    游戏逻辑

        此模块管理当前玩家和AI配置倒计时timerand当前的游戏状态(暂停,等待网络回复)。

    AI (人工智能(Artificial Intelligence) ,英文缩写为 AI )

        AI模块包含背后的逻辑单元,组和球员AI.The单位的AI寻路或障碍物避免使用不同的转向行为控制单元的状态。组AI管理组的行为和活动,如组寻路。更高的层次上管理播放机的所有组由播放器模块。 
    人工智能机器学习保存和加载它的数据使用的持久性数据模块的接口。

    Persistant data持久性数据

       此模块是负责数据之间不同的游戏sessions.Among其他应可用于保存和加载,存储查找表和图寻路模块和管理学习AI的accumulateddata的机器。

    Game actors游戏参与者

       游戏参与者在游戏中的地形,单位或建筑物。他们的3D模型获得通过Unity3D的渲染管线的可视化。每场比赛的演员拥有AI模块,控制它的行为。

    Steering behaviours指导行为

      指导行为的计算力量,影响如何以及如何快速自主游戏代理能动,应该可以用于避障,人流或简单的寻找任务。

    Pathfinding寻路

      这模块负责创建一个pathgrid,障碍物信息收集和提供各种寻路请求aninterface的。为了获得更好的性能的一些信息保存到从磁盘中加载。

    Input输入

       此模块跟踪用户的输入,对其进行处理,并生成反馈。

    Network网络

      网络模块是负责所有游戏演员的状态管理是保持比赛状态,在两台机器上都保持一致,以避免抖动网络单元运动网络game.Another责任。

    GUI

     图形用户界面(GUI)显示所有按钮,菜单,在小地图和倒数计时器。它也负责为这些元素的功能和交互依赖与用于此目的的游戏的逻辑模块。

    3D渲染

      该模块主要管理Unity3D的。场景的主摄像头确定需要渲染的对象,并把它们发送通过渲染管线。  Unity3D的 封装最渲染的细节,而且还提供了通过像素和顶点着色器的访问。

    Unity场景设置

      在游戏中的每一个图表示由Unity3D的场景。下面是一个典型的场景设置在Unity层次(一)和(二)在现场窗口看起来像:

                                          

                                                                       Unity层次的地图

                 

                                                                               场景视图的地图

    现在所有的游戏对象从顶部面板底部进行说明。

    CWalls

      这个对象包含自定义绘制墙节点和墙壁边缘。另一种是使用自定义绘制墙壁到calculatethem取决于地图的几何。

    Directional light(定向光)

       此灯仅用于计算地形光照贴图。关闭之后,由于性能的原因。

    Game Music(游戏音乐)

       持有游戏的主要音乐和播放现场启动。

    GameController(游戏控制器)

       GameController游戏物体持有并管理所有的游戏对象,管理游戏的逻辑。它包括以下对象:

    CursorController(光标控制器):

        管理光标的外观和背后的逻辑。

    GameInstantiator(游戏实例化):

       这个重要的游戏对象是负责实例化其他对象需要创建非特异性顺序。

                      

                                     GameInstantiator in the Inspector

                       

                                       GameController in the Hierarchy

      GameInstantiator持有的的地图,PathCreator路径创建和管理障碍,管理球员配置和设置,是用来处理用户输入的的InputControl游戏物体,游戏场游戏物体和参考玩家游戏物体上的建筑物referenes定义了可播放的区域的地图。

     它还包含了玩家的重生点和自定义路径和墙壁的引用。

    GUI

       拥有地图的所有GUI对象。

    Machine Learning Controller

       此游戏物体控制的所有功能,机器学习需要。

    spawn1, spawn2

      实际玩家的重生点。重生点的标志是绿色立方体“场景视图。  

    HPaths

       自定义路径节点,在地图的边缘。自定义节点在场景编辑器中标记,并概述红线。     

    Main Camera(主摄像机)

       现场的主摄像头和音频监听。所有的3D声音是从相机的角度观察。     

    PlayArea(游戏场)

      定义实际可玩的地图区域。

    Base Prefabs(基地预制)

      散落在地图上的建筑物。

    Terrain(地形)

       Unity地形对象。

    TestRunner

      一个物体,用于运行单元测试与Unity3D的的单位testingframework  SharpUnit 的。

    MVC Pattern(MVC模式)

      Unity引擎的设计鼓励MVC(模型 - 视图 - 控制器)面向engineering.In的我的情况下,结构看起来像这样:

      

                                                                   图5:MVC模式的体系结构表示

    模型包含了所有的游戏对象,组件和数据文件。游戏物体的渲染器和摄像机对象的访问。

    视图呈现模型和主要管理Unity3D的引擎渲染。它需要accessthe持有模型的3D模型,纹理,材质和效果。它还具有什么输入选项的影响。

    控制器接收用户输入并调用模型对象上的方法反应。这是在我的游戏中所表示的输入子系统。用户能影响与他的输入的视图。

    Multiplatform Development(多平台发展)

      Unity允许部署项目在不同的平台上有轻微的变化。演示和功能在很大程度上是保持取决于平台的capabilities.However,在某些领域,如在不同的设备上的输入机制存在重大分歧。

      抽象工厂设计模式应用于设计这些组件。

    The Abstract Factory Pattern抽象工厂模式

                                  

                                                                                         图6:抽象工厂模式

    抽象工厂模式(见图6)保护客户从不同的平台上实现相同的概念在不同的APC与平台是一家集的AbstractProduct类。这些类表示一个概念,是支持所有的抽象工厂platforms.An类声明创建单一产品的经营,ConcreteFactory类代表一个特定的平台。

    客户端只使用抽象工厂和抽象产品的方法,因此从一个平台的具体实施保护。

    Input and Persistant Data(输入和持久性数据)

       主要有两个方面的游戏,不同的实施要求是输入机制和usageof的持久性文件的数据。  Unity3D中 不支持跨plattform数据库。这就是为什么机甲和坦克使用的持久性数据在磁盘上的二进制文件。所有平台得到了他们对于自己的能力和自己的实施,支持的文件格式。

    为了保持可读性和灵活性以下适应跨平台的输入处理的抽象工厂模式:

                   

                                                                          图7:输入子系统结构摘自

    这仅仅是一个小所涉及的所有平台和命令,选择用于演示的摘录。

    InputManager被附加到游戏物体在场景中的InputControl。它调用CommandImplementor的Execute方法的每一帧里面的更新功能。执行方法的CommandImplementor遍历所有添加的命令,检查他们的执行情况表示满意,并调用Execute方法,如果是这样。

    输入子系统的组成部分的图中的抽象工厂模式:

                  

    iOS+Unity

         机甲和坦克被创造的过程迭代开发,这是什么原因,为什么游戏已经播放任何调整之前为iPad™。 
         本章介绍和分析面临的挑战和解决方案移植机甲和坦克的iPad™。

    Maximum Polygon Count(最高多边形计数)

         其中一个最明显的限制,适用于iPad™游戏的多边形数量的图形芯片能够呈现每个frame.It的横空出世,超过30万个多边形,每帧开始下降,低于25 FPS的帧率对iPad™。在3D建模软件,通过手动消除边缘和应用预定义的算法减少多边形,从一开始,某些型号甚至rebuiilding减少多边形计数后,目前在所有平台上的多边形数量是:

                   

    平均多边形数量大约是每单位300。如果所有的24个敌人和播放器单元的相机拍摄的,在一帧中产生的多边形的数量将是7200,平均约8500,在最坏情况下24  runners.Adding 最大4000地形的多边形(平截头体的其余部分的地形得到扑杀),最重的帧将给予约12500  GPU 多边形渲染。 
    Draw Call Reduction and Lights(绘制减少呼叫和灯) 
    即使在移动设备上不俗的表现,更重要的是每帧绘制调用的数量。一场平局发出呼叫的GPU每次绘制一个模型。如果模型有n子网格就会造成至少Ñ战平calls.Every  GUI 质地,选择飞机和健康栏添加一个调用到现场。 
    额外抽奖调用另一个来源是每像素光照,导致额外的绘图调用每一个光pass.That就是为什么合并成一个模型中的所有子网和型号不使用动态照明。所有的模型和地形纹理的灯光烤英寸光影烘烤计算每个纹理获取静态光源照亮奠定了光照贴图在纹理的亮度。看上去好像他们的灯光的影响,虽然没有计算模型。图8显示了几个模型,而无需光照贴图或灯光效果。

              

                                       图8:熄灭纹理材质着色器和没有灯光的烘烤模式截图

             

                                                                    图9:游戏扩大统计窗口右上角的视图

    这是说,可以结合Unity若干个对象,共享相同的材料制成的,在运行时,在一个单一的绘制调用的绘制在一起。这种方法被称为动态配料[18]。图9显示了66战平调用以下来源所造成的一个场景: 
    (GUI)图形用户界面 
    8绘制调用之缩小贴图按钮,,倒计时倒计时文本的+24个图斑+8号楼地图斑+1相机地图现货。总结41  GUI 造成绘制调用。 
    Terrain(地形) 

         4画通话。其中每个质地。 
    Visible Models(可见模型) 
       14平局呼吁。每个模型会导致比3战平调用自身的。一个用于单元网格,一个为healthbar网格和一个用于选择平面网格。低的数字都可以解释与Unity的动态配料。 
    Terrains(地形) 
         Unity3D中没有支持的地形为iOS,直到Unity3.4发布于2011年7月[19]。为了找到最佳的解决方案机甲和坦克,地形实施的两种可供选择的方式已经过测试:模拟地形在3D程序:一个3D建模程序和地形分割成不同的部分(见图10)。分区的效果,大部分分部视锥Unity扑杀。那meansthat只有至少部分可见的段得到呈现。

                             

                                                                                图10:仿照地形突出部分

    这种技术被丢弃创造新的地形,因为这个过程会非常complicatedcompared Unity的地形系统,纹理大小是非常大的或质量受到影响。  * 地形:地形移动系统移动系统是一个解决方案,可通过Unity资产商店T4M地形可以用于移动设备,并可以转换成Unity的地形。原来,这个解决方案的性能是不够的游戏。 
    地形最终解决方案是使用Unity地形引擎,具有非常低的质量设置。这是唯一可能后Unity3.4发布于2011年7月加入Unity地形对移动通信系统的支持。 
    GUI-Optimization(GUI优化) 
    该的Unity引擎提供两种方式来实现GUI。一种方式是使用Unity的GUI的系统UnityGUI,需要它的功能,是一个特殊的功能calledinside名为OnGUI(),即执行每帧两次和onceevery事件的。这个系统只用于主菜单,并暂停菜单,在allvalues 需要计算外OnGUI功能。 
    GUI纹理用于所有其他GUI元素象的GUI按钮和小地图上以维持性能。  GUI 纹理的平面图像中显示的2D和每帧渲染一次。 
    Script-Optimizations(脚本优化) 
    为了授予脚本的性能高,最便宜的方法进行跟踪与profiler.It横空出世,被称为最昂贵的方法可以通过寻路或转向行为子系统。寻路已被优化,如下文所述在AI部分。有人还提出确保昂贵的功能,如转向行为和其他AI程序不会调用每一个帧。

    转载自:http://blog.csdn.net/jbjwpzyl3611421/article/details/10441681

    ==================Unity3D引擎架构设计======================

    组件(Component)这个概念最早是在2005年《Game Programming Gems 5》的《Component Based Object Management》中接触到的,当时感觉在设计上很实用。后来,发现Unreal Engine 3的一个重要的改进就是抛弃了以前的基于纯派生关系的对象 模型 ,而转为使用 基于组件 的对象 模型 。对于这种设计思想,Unity比Unreal贯彻的更彻底——一切皆Component。

    那么到底什么是“基于组件”的对象 模型 ?它能够解决什么问题?

    在传统的设计中,我们一般会使用“派生”来描述对象之间的关系。子类通过派生父类,来获得父类的功能。在设计游戏对象时,会根据游戏本身的需要而为游戏对象添加各种功能支持,比如渲染,碰撞,刚体,粒子系统等等。这些通用功能为了能够为各种派生类提供服务,都必须实现到基类中。这样就导致了游戏对象基类变得非常庞大臃肿,即难使用,又难维护。

    ”基于组件“的对象 模型 就是把所有需要提供给游戏对象的基础功能都独立成单独的”组件模块“(Component),一个具体的游戏对象可以将它需要的功能模块组合到一起使用。所有”功能“不再是父类中的接口,而变成子对象实例,为游戏对象提供服务。这样既保证了功能代码的可重用性,又增加了整个对象体系的模块化和灵活度。

    在Unity中,GameObject除了作为Component的容器之外,基本上没有其他功能。所有需要的功能都要通过组合Component来实现。脚本本身也是Component,用来在GameObject上通过控制其他Component来实现自定义的功能。虽然这些Component在物理上是完全并列的关系,但是他们之间还是会有一定的层次关系的。在设计一个游戏对象的具体功能时,组件一般会被分为三个层次。

    引擎的基础组件

    Unity本身提供的各种内部功能组件。比如渲染组件,物理组件,声音组件等等。这些组件实现了所有引擎提供的基础功能,会被脚本使用来组合高级功能。

    模块功能脚本组件

    通过脚本实现的一些相对独立的通用模块功能的组件。这类 组件的设计 是脚本可重用的关键,需要仔细分析游戏对象中哪些功能可以被独立出来成为一个可重用的功能模块组件,并且在实现上应该尽量降低与其他组件的耦合性。比如在设计一个角色游戏对象时,需要为他设计换装功能。换装功能其实就是对显示子对象进行分组管理,切换显示状态。这个功能相对独立,与其将他实现到角色中,不如独立成一个功能模块组件。角色游戏对象和其他所有需要换装功能的游戏对象都可以通过包含这个模块组件来实现换装功能。

    模块功能组件之间还可能有依赖关系,也就是一个功能模块组件可能依赖与另一个功能模块组件,从而在这个组件层次上形成更多的子层次。

    高层的胶水代码脚本

    这些脚本用来真正将引擎基础组件和模块功能组件组合到一起实现最终游戏对象逻辑。用“胶水代码”来形容这些脚本非常的贴切,就是把所有这些子功能“粘”在一起。比如设计一个Player脚本,将所有需要的组件功能组合起来,实现一个玩家的具体游戏逻辑。因为这一层次代表的都是最高层的游戏行为控制对象,是具体的游戏逻辑的“胶水”代码,不会再为更上层提服务,所以本身的可重用性并不高。但是这些对象之间按照类型区分,往往会有一些功能上的重合,所以反而可以继续使用派生关系来实现功能的重用。比如在Character中实现所有的基础功能(这些功能又是通过组合基础组件来实现的),而Player和NPC都从Character派生,来继承所有Character的功能,并继续实现自己特殊的功能。一个功能到底应该用组件实现还是用派生实现并没有非常明确的界限,应该根据需要灵活运用。

    在使用Unity的过程中,如果要实现的是demo级别的小工程,并不需要考虑很多,直接用脚本实现功能就可以了。但是如果要有效地组织复杂的工程,提高代码的重用性,充分理解和合理的利用“基于组件”的对象 模型 设计思想还是很重要的。

    转载于:https://www.cnblogs.com/lifesteven/p/4425622.html

    展开全文
  • 3d引擎列表

    2016-03-03 15:37:38
    3d引擎列表 免费引擎 Agar - 一个高级图形应用程序框架,用于2D和3D游戏。Allegro library - 基于 C/C++ 的游戏引擎,支持图形,声音,输入,游戏时钟,浮点,压缩文件以及GUI。Axiom 引擎 - OGRE的衍生...

    3d引擎列表

    免费引擎
    • Agar - 一个高级图形应用程序框架,用于2D和3D游戏。
    • Allegro library - 基于 C/C++ 的游戏引擎,支持图形,声音,输入,游戏时钟,浮点,压缩文件以及GUI。
    • Axiom 引擎 - OGRE的衍生引擎。
    • Baja 引擎 - 专业品质的图像引擎,用于The Lost Mansion
    • Boom - Doom代码的一部分。由TeamTNT开发
    • Build 引擎 - 一个第一人称射击游戏引擎,用于Duke Nukem 3D
    • BYOND - “Build Your Own Net Dream”的所写,支持各种类型的游戏,包括MMORPG。
    • Ca3D-引擎 - 一个比较成熟的引擎,有自己的SDK,世界编辑器等。
    • Cadabra 3D 引擎 - 用于快速开发3D游戏。
    • Catmother - 一个基于BSD授权的引擎,只限个人使用,不能做商业用途。是一家游戏公司的开源引擎。
    • CheapHack - An outdated TomazQuake derived engine
    • Crystal Entity Layer - Crystal Space 3D 引擎的扩充
    • Crystal Space - 3D应用程序的常规框架。
    • Cube - Powers the computer game of the same name
    • DarkPlaces - 高级免费软件之一。
    • Delta3d - 整合和其他知名免费引擎,最初由美国军方开发。
    • DGD - 一个面向对象的MUD引擎。
    • Doom 引擎 - 现在已经免费的引擎,曾用于DoomDoom II
    • DXFramework - 一个简单,带有教学性质的2D/3D引擎,基于DirectX和Visual Studio
    • DX Studio - 一个专业3D引擎,附带编辑器套件,由Worldweaver公司开发。
    • Eclipse - 一个2D MMORPG编辑器。
    • Elysium Source - 2D网络游戏引擎,VB6开发。
    • Engine 001 - 2D 动作类RPG游戏编辑器。
    • Epee 引擎 -一个2D/3D开放源代码图像引擎,多平台。
    • Eternity 引擎 - Doom引擎的一部分。
    • Exult - Ultima VII使用的引擎。
    • FIFE - 辐射1和2使用的标准2D引擎。
    • Game Blender - Blender的子程序,用于开发游戏。
    • Game Maker - 面向对象的软游戏开发平台,支持拖放编辑以及其自己的脚本语言。
    • GQ - 一个Quake引擎,增添了来自TomazQuake和DarkPlaces的许多新特性。
    • GZDoom - 基于ZDoom的引擎。
    • Genesis3D - 用于Windows的3D实时渲染引擎
    • GemRB - A free software implementation of the Infinity Engine
    • G3DRuby - 用于高级3D图形。
    • Haaf's Game Engine - A 2D Hardware Accelerated Game Engine
    • Irrlicht 引擎 - 一个多平台3D图形引擎。
    • Gosu 2D游戏开发库,用于C++。
    • Jogre - 一个基于Java的网络游戏引擎。
    • MRPGe - Visual Basic开发的2D RPG游戏引擎,附带内置的脚本支持,可定制化强,正在开发阶段。
    • M.U.G.E.N - 2D格斗游戏引擎。
    • Multiverse Network - 网络游戏开发平台,包含服务端、客户端,以及一些开发工具(对个人免费)
    • Nebula Device - 由德国的游戏开发工作室开发的实时渲染3D引擎。
    • NeL 引擎 - 用于开发网络游戏的引擎。
    • OctLight - Java游戏引擎,基于OpenGL。
    • Open Game Engine - 一个开源引擎,包含开发游戏所需的各种组件。
    • OGRE Engine - 一个非常流行的面向对象图形渲染引擎,亦称OGRE3D。
    • Online RPG Maker - 一个2D网络游戏引擎,以脚本方式编辑。
    • Panda3D 引擎 - 基于Python的快速开发游戏引擎。
    • PlayerWorlds - 一个简洁且广泛使用的2D网络游戏引擎。
    • PLIB - 包含3D、音效、GUI、窗口管理。支持Linux/Windows/MacOSX。
    • ProQuake - 更动过的Quake引擎。
    • 毁灭公爵II引擎 - Quake II的引擎。
    • 毁灭公爵III引擎 - Quake III的引擎。
    • Reality Factory - 一个开源引擎,面向非程序员开发,基于Genesis3d图形引擎。
    • RealmForge - 用于微软 .NET Framework的引擎,Visual3D.NET的原始版本。
    • Sauerbraten - 一个基于Cube引擎的优化版。
    • Sonic Robo Blast 2 - A heavily modified Doom Legacy engine for a 3D platform fan-fiction game of the same name.
    • Stratagus - 一个多平台即时战略游戏引擎。
    • Telejano - Quake引擎的修改版。
    • Tenebrae - Quake引擎的修改版。
    • Toi - 一个正在开发的3D游戏引擎,可用于单机和网络游戏开发。
    • Tomb4 - The engine used to play custom Tomb Raider games built using TRLE (Tomb Raider Level Editor)
    • vbGORE - 用Visual Basic 6开发的网络游戏引擎(通过3D函数表达2D图形)
    • Well of Souls - 基于脚本化编辑的2D引擎,附带可视化世界编辑器。
    • Yake - 组件化,面向对象化的的引擎。
    • Zak 引擎 - 为业余和专业游戏开发者开发的2D引擎,基于DirectX 8.1和9。 支持脚本、贴图地图、音效、粒子系统等。

    [编辑] 商业引擎

    [编辑] 手机游戏引擎

    • GledPlay - 一套完整的SDK用于开发手机游戏。
    • game-editor - 为GP2X开发游戏的开发套件。

    [编辑] PSP

    [编辑] 游戏及其使用的引擎

    引擎 游戏 公司
    Nebula Device 3 黑暗之眼 Radon Labs
    GoldSrc 半条命 Valve
    SAGE 引擎 命令与征服;
    命令与征服3:泰伯利亚战争;
    魔戒:中土大战II
    EA
    Source引擎 半条命2;
    Sin Episodes;
    魔法门之黑暗弥赛亚
    Valve;
    Ritual Entertainment;
    Arkane Studios
    CryENGINE 孤岛惊魂 Crytek
    CryENGINE2 孤岛危机 Crytek
    Essence 引擎 英雄连;
    英雄连:对立前线
    Relic Entertainment
    Scimitar 刺客信条 育碧公司
    Alamo 星球大战:帝国战争;
    星球大战:帝国战争-堕落之军;
    宇宙战争:地球突击战
    Petroglyph
    Unreal Engine 3 虚幻竞技场3 Epic Games
    Doom 3 引擎 毁灭战士3;
    雷神之锤4;
    深入敌后:雷神战争
    Id Software
    Neon 引擎 闪点行动2; 极速房车赛 Codemasters
    GFX3D 复活 (游戏)天骄 目标软件公司

    [编辑] 引擎概览(A--G)

    本章节来自 游戏编程Wiki,版权依据GNU自由文档许可证 1.2

    名称 程序语言 平台 版权 图像 音效 联网 脚本 其他特性 插件 备注
    3DCakeWalk Python Windows/Linux 商业 2D/3D 基于 DirectX和OpenGL     Python 参见
    A6游戏引擎 C-Script,模仿C++/Delphi Windows 商业 3D 基于 DirectX C-Script脚本语言 带物理运算
    AGL 引擎 C++ Windows 商业 2D 基于 DirectDraw,Direct3D和OpenGL 高级游戏场景框架 易于使用,硬件抽象,自动资源管理,自定义文件系统
    Allegro C++ DOS, Unix, Windows, BeOS, QNX, MacOS 开源,免费 2D以及3D  
    Artificial 引擎 .NET Windows 免费 3D 基于 DirectX
    Axiom .NET   免费 3D 基于 OpenGL
    Baja引擎 C++/Lua Windows, Mac Os X 免费 3D 基于 OpenGL Lua 专业级品质,包含各种开发工具 灵活性高
    Blitz3D Basic Windows 商业 2d/3D 基于 DirectX7 BlitzBasic 使用者众多 易于使用,支持BSP,3DS 非面向对象,basic语法
    BlitzMax Object Basic Windows, Linux, MacOS 商业 2D 基于 OpenGL BlitzMAX 脚本 提供多种模块(GUI,3D,音效,物理运算等)易于使用 高速2D引擎,面向对象,支持LUA 没有3D支持
    Brume Game引擎 .NET 2.0 (C#) Windows 免费 3D 基于 DirectX 提供多种模块(GUI,音效,物理运算,碰撞检测,动画等) 易于使用,面向对象  
    C4 引擎 C++ Windows/MacOS 商业 3D 可视化脚本编辑 参见 正在开发 特性支持不完整
    Cipher Game 引擎 C/C++ Windows 商业 3D   碰撞检测,AI
    名称 程序语言 平台 版权 图像 音效 联网 脚本 其他特性 插件 备注
    ClanLib C++ Windows, Linux, MacOSX 开源免费 2D加速 网络系统表现优秀
    Classical Moon GDK C/C++ Windows Free/商业 2D 基于 OpenGL 是, 基于 OpenAL 可定制化C/C++脚本语言 Chinese
    Clockwork (未完成) 不需要 Windows, Linux Indie/商业 3D 基于 OpenGL 基于 OpenAL 计划中 Lua
    CRM32Pro C++ Windows, Linux 闭源 LGPL 2D 基于 SDL/glSDL,优化MMX 基于SDL_mixer的API 基于SDL_Net的API XML解析器,自带文件打包管理器,参见 基于各种CPU的高级设定,可定制化配置系统
    Crystal Space C/C++ Linux, Windows, MacOS X 免费(LGPL) 3D 基于 OpenGL Python, Perl 或 Java
    DaBooda Turbo 引擎 VB Windows   2D 基于 DirectX
    Daimonin C(服务端),C++(客户端)java(编辑器) Linux, Windows, MacOSX GPL 2D/3D 基于 SDL及OGRE3D Lua 完整的MMORPG引擎
    Delta3D C++ Linux, Windows, MacOSX 免费(LGPL) 3D OpenGL Python 物理运算,场景编辑器,参见 支持大规模地形渲染。
    名称 程序语言 平台 版权 图像 音效 联网 脚本 其他特性 插件 备注
    DarkbasicPro Basic Windows 共享软件 2d/3D 基于 DirectX9 Darkbasic 用户众多 易于使用,支持BSP,3DS。 非面向对象,basic语法
    DizzyAGE C++ Windows 免费 2D 基于 DirectX GS9 脚本语言 有开发工具,用于快速创建冒险类游戏
    DXGame引擎 VB6 Windows 免费 2D+ 基于 Direct3D 自动精灵管理,2D贴图地图(层数无限),基本粒子系统,碰撞检测
    dx_lib32 2.0 VB 6.0 (亦有 VB.NET) Windows 免费 2D 基于 D3D 8) 基于 DirectAudio (DSound8) 支持Quake/Half-Life的打包文件格式 界面简单,易于使用,说明文档完备 不完全面向对象,说明文件及网站都是西班牙语
    EasyWay 引擎 Java Windows, Linux, Mac OS 开源GPL 2D/3D 基于 OpenGL OpenAL 计划中 可扩展,像素级碰撞检测,自动寻路 使用简便 API说明文件不完善
    名称 程序语言 平台 版权 图像 音效 联网 脚本 其他特性 插件 备注
    Epee 引擎 C++ Windows, Linux,Mac zlib/libpng 2D基于SDL,3D计划使用OpenGL 计划中 计划中 Epee 参见 渲染快速 引擎还在开发中
    ephLib C++/Io OS X GPL/其他 2D/3D 基于 OpenGL OpenAL 完整Io脚本支持 高级粒子系统 可修改 开发中,特性不完整
    Espresso3D Java Windows, Linux, MacOS X 免费/商业 3D 基于 LWJGL 2D/3D 基于 OpenAL 参见
    Fenix Project (beta) Pascal、C兼有 Windows, Linux, Mac OS, Solaris, BeOs, DreamCast, GP32X 开源 2D 基于 SDL 基于 MikMod 基于 SDL_Net 像素级碰撞检测,自动寻路 易于使用 基于软件渲染的2D,非面向对象的脚本语言,漏洞少
    FIFE C++ Win32, Linux, MacOS X, BSD 免费(GPL 2.0) 2D软件渲染,基于SDL, 有硬件加速模式,基于OpenGL 是 (OpenAL) Lua 5.1 计划支持各种特效   还不完整
    FlatRedBall 2.5D .NET Windows Free 3D 基于 DirectX Soon 模板,碰撞检测,骨骼系统,物理运算
    G3D C++ Linux, Windows, MacOS X 免费(BSD) 3D 基于 OpenGL  
    G3DRuby Ruby Windows, Linux Free 3D 基于 OpenGL  
    Game Maker Delphi Windows 免费/商业 2D/3D Some 自创GML脚本 快速2D贴图地图游戏开发,但支持3D速度不够(基于DirectX)
    Genesis3D C++ Windows 免费/商业 3D基于DirectX
    GFX3D C++ windows 商业  


    [编辑]
    引擎概览(G--Q)

    名称 程序语言 平台 版权 图像 音效 联网 脚本 其他特性 插件 备注
    GhostEngine C++, .NET Windows (Mac和Linux在开发中) 引擎代码使用Zlib/libPNG许可证,非代码资源使用多种许可否 3D 基于OpenGL/DirectX,对DirectX还在开发 是 (FMOD) 是 (TCP/IP正在重写,UDP支持在计划中) Lua 普通   开发中
    Goblin 2D+ C/C++ Windows 免费,共享,商业 主要是基于D3D的2D,但支持.X和.MD2模型 是-自创   开发中  
    Golden T 游戏引擎 Java Windows, Linux, MacOS X 免费 2D基于OpenGL  
    Gosu C++, Ruby Windows, Mac, Linux 免费 2D基于OpenGL/DirectX
    HGE HGE C++ Windows 开源(Zlib/libpng许可证) 2D基于DirectX 是, 基于BASS 带开发工具 引擎框架好  
    Irmo C Linux 免费     Ruby  
    Irrlicht C++/.NET Windows, Linux, Mac OSX 免费 (zlib/pnglib许可证) 3D 基于DirectX(8,9),OpenGL,多种软件渲染 Lua 碰撞检测,HDR 大公司开发,教学资源丰富 开发中
    ika C++ Windows, Linux 免费(GPL) 2D 基于OpenGL Python 资源消耗少
    名称 程序语言 平台 版权 图像 音效 联网 脚本 其他特性 插件 备注
    Jad 引擎- C#+MDX引擎 C# Windows LGPL 3D基于Managed DirectX MDSound和Vorbis .NET 需要支持shaders 2.0以上的图形卡,使用牛顿力学引擎来实现逼真的运动和力回馈,支持HDR,带AI引擎(遗传算法框架) 开发界面直观 开发文档不完整
    Jamagic 1.2 Jamascript Windows 商业 3D 嵌入式编辑器 易学  
    JEngine SSE C++ Windows, Linux 免费(GPL) 2D基于OpenGL Lua 碰撞检测,Cg&GLS效果
    Jet3D C/C++ Windows Free 3D基于DirectX      
    JGame Java Windows, Unix, MacOSX 免费(BSD) 2D  
    jMonkey引擎 Java Windows, Linux, MacOS X 免费(BSD) 3D 基于LWJGL 未知
    JOGRE引擎 Java Windows, Linux, MacOS X 免费(BSD) 2D  ? Java在线游戏引擎
    Multimedia Fusion 2 非脚本 Windows 商业 2D Lua ActiveX, Dll, 插件丰富,可扩展 易学  
    neabEngine PHP Windows, Linux 商业 2D (AJAX) 带完整源代码,可添加模块
    NeL C/C++ Windows, Linux 免费/商业 3D 基于DirectX或OpenGL   CEGUI集成
    NemoX 3D 引擎 VB/Delphi/.NET Windows 免费 3D 基于DirectX DirectX 易于使用  
    NeoEngine C++ Windows, Linux 免费(MPL) 3D 基于 DirectX或OpenGL Lua  
    OGE - Open Game Engine C++ Windows (mingw, VC), Linux (gcc) 免费(LGPL)/商业 3D(OGRE,hence DX + OpenGL) OpenAL RakNet Squirrel 多线程设计,GUI(CEGUI)物理系统(ODE) 简便的开发平台  
    OGRE C++ Windows, Linux, MacOS X 免费(LGPL)/商业 3D 基于Directx或OpenGL 几乎支持所有高端3D技术 大公司开发,教程丰富,开源 源代码庞大
    ORE VB6 Windows 免费 2D基于 DirectX7/DirectX8
    名称 程序语言 平台 版权 图像 音效 联网 脚本 其他特性 插件 备注
    Ovorp引擎 .NET Windows 免费 2D基于DirectX  
    PAB游戏引擎 VB Windows
    Panda3D C++ Windows, Linux 免费 3D 是, 基于FMOD   Python  
    Photon C++ Linux, Windows zlib 2D 基于OpenGL 是,OpenAL 带资源管理 文档丰富 开发早
    PLib C++ Linux, UNIX, Windows, MacOSX, MacOS9 免费(LGPL) 2D/3D基于OpenGL  
    Popcap Framework C++ Windows 免费 2D 开发过Zuma   不支持3D
    PowerRender C++ Windows, Xbox 商业 3D基于DirectX C++脚本 物理系统,碰撞检测,HDR 可定制引擎 阴影算法不佳
    PTK引擎 C++ Windows, Mac 免费/商业 2D 支持TTF字体,各种线条,Tar文件  
    PPTactical引擎 C++ Windows, Linux 免费(LGPL) 2D
    PureBasic Basic Mac OS X, Linux, Windows 商业  
    Quake Engine C DOS & Windows GPL, 商业 Software, OpenGL QuakeC  
    Quake II引擎 C Windows, Linux GPL/商业 OpenGL    
    Quake III Arena 引擎 C Windows, Linux, Mac OS GPL/商业 OpenGL    


    [编辑]
    引擎概览(R--Z)

    名称 程序语言 平台 版权 图像 音效 联网 脚本 其他特性 插件 备注
    Raydium 3D C Windows, Linux 免费(GPL) 3D基于OpenGL 是,基于OpenAL 嵌入式PHP, Python 基于ODE的物理系统
    Ray Game Designer 2 不需要 Windows 免费 3D基于OpenGL或Direct3D 碰撞检测,半透明,灯光效果 不需要编程基础,易用,含各种开发工具 游戏设定优先,图像引擎过时
    Reality Factory 不需要 Windows   3D基于Genesis3D (DirectX)  
    RealmForge .NET     3D 基于Axiom(OpenGL)
    RetinaX .NET 2.0 (C#)   免费(BSD) 3D基于Managed DirectX 有用户界面 易用,可定制性强
    Revolution3D VB/C++/.NET Windows 免费 3D基于DirectX  
    RPG Maker 2003 C/Delphi Windows 共享软件 2D 是,基于DirectX Ruby 有关卡编辑器 易用 闭源
    RPG Maker XP C/Delphi Windows 共享软件 2D 是,基于DirectX Ruby 有关卡编辑器 易用 闭源
    Saq2D C# Windows 免费 2D基于 XNA          
    Sprite Craft VB/C++/Delphi Windows 免费 2D     VBScript/JavaScript
    名称 程序语言 平台 版权 图像 音效 联网 脚本 其他特性 插件 备注
    Source引擎 C++ Windows, Linux(服务端) 商业 Direct3D 基于Havok的物理系统,基于Valve的面部表情系统,VGUI, HDR  
    The Nebula Device 2 C++ Windows Free 3D 基于 DirectX
    Thousand Parsec 框架 Python, C++, 其他 Windows, Linux, MacOS X 免费(GPL) 2D/3D TP协议 用于联机游戏的引擎框架  
    TNT Basic Basic MacOSX 免费(GPL) 2D  
    Torque C++ Windows, Linux, MacOS X 商业 3D 基于 OpenGL OpenAL 自定义脚本 任务/地形编辑器,支持Mac和Linux,实时界面编辑器,粒子系统,支持多语言 开源,用户众多,支持Many 3D模型导入  
    Torque2D C++ Windows, Linux, MacOS X 商业 2D OpenAL 自定义脚本
    Truevision3D VB/Delphi/C++/.NET Windows 免费/商业 3D 基于DirectX DirectX VBscript, Python, Java Script 物理引擎,支持各种常见模型文件,正规映射, 阴影
    UnrealEngine2 / 2X / 3 C++ Windows, Linux, MacOS X, PS2, Xbox, PS3, XBOX 360 商业 3D UnrealScript 物理系统, HDR (UE3)   价格较高
    Unigine C++ Windows, Linux 商业 3D UnigineScript(类似C++) 物理系统, HDR, PRT, 像素阴影(3.0) 图像表现类似Doom3, Unreal,价格较低,工具很多
    vbGORE VB6 Windows Free (Open Source) 2D 基于 3D 针对ORPG和MMORPG游戏设计的引擎  
    名称 程序语言 平台 版权 图像 音效 联网 脚本 其他特性 插件 备注
    Valve Python Windows/Linux 商业 2D/3D 基于DirectX和OpenGL   Python 更多信息
    Visual3D.NET .NET 2.0 (C#) Windows, Xbox 360 商业, 对初学者免费 3D 基于DirectX和XNA C#, VB.NET, C++.NET, J# (Java), JScript.NET (JavaScript), IronPython, Visual Programming/Modeling 可视化开发环境,布娃娃系统,正规映射,Shaders(3.0), HDR
    YAKE Engine C++ Windows, Linux 免费 3D 基于OGRE (OpenGL), Direct3D 9 OpenAL Lua GUI基于CEGUI, 基于ODE的物理系统
    Yage D Windows, Linux 免费(LGPL) 3D 基于OpenGL OpenAL
    Panda 3D C++, Python Windows, Linux 免费 3D C++和Python 提供免费模型,文档,教程 迪斯尼公司用来制作ToonTown,易学,很稳定
    Zak Engine C++ Windows Free 2D 基于 DirectX 8.1 and 9.0 Audiere AngelScript Tiles地图(AnaConda地图编辑器), 精灵, 粒子系统,位图字体 很稳定,易用
    ZFX Community Engine C++ Windows, Linux, BSD 免费(LGPL) 3D 基于DirectX和OpenGL Lua 
    展开全文
  • Udemy - Unity 3D游戏开发的3D引擎的基本原理
  •  为了更好地理解游戏的软件架构和对象模型,它获得更好的外观仅有一名Unity3D的游戏引擎和编辑器是非常有用的,它的主要原则。 Unity3D 引擎  Unity3D的是一个屡获殊荣的工具,用于创建交互式3D应用程序在多个...
  • 【Unity3D基础2-2】认识Unity3D引擎

    千次阅读 2020-05-13 17:13:41
    一、引言 【Unity3D基础2-1】Unity3D从业介绍已更新完毕 这篇介绍Unity3D引擎 二、
  • Panda3D是一款开源的,完全免费的引擎,可用于实时3D游戏,可视化,模拟和实验 。其丰富的功能可以根据您的特定工作流程和开发需求轻松定制。通过易于使用的API公开显卡的全部功能。Panda3D结合了C ++的速度和Python...
  • 学习3D引擎架构技术概述

    千次阅读 2018-05-08 22:04:28
    近期对3D引擎的架构设计做了一个梳理总结,现在开发游戏都离不开引擎,这些引擎包括Unity引擎,虚幻引擎,Cocos2dx引擎,自研引擎等等。很多开发者只会利用他们写逻辑,遇到优化问题就束手无策了,遇到Shader编程...
  • flash3D引擎对比分析

    2019-10-01 04:45:54
    flash 3D引擎简介 flash3D引擎有不下10款,在使用的时候真的是会让人犯难,我个人曾经使用过一段时间PV3D,感觉PV3D的创建时间,用户规模等等相对都要更加成熟,因此我自己更加推荐PV3D 。结论:目前我在用...
  • TV3D 引擎VB源代码

    热门讨论 2012-08-11 17:51:17
    TV3D 引擎VB源代码,可以生成dll,然后当成控件插入或引用一下就可以了。 TV3D 引擎的VB源代码,是TV3D5.8版本的。 TV3D 引擎5.8版是开源的,所以提供了VB的源代码,我一不小心就发现了,发给大家研究研究! TV3D ...
  • 3D引擎开发介绍.zip

    2008-08-30 00:13:51
    3D引擎开发介绍3D引擎开发介绍3D引擎开发介绍3D引擎开发介绍3D引擎开发介绍3D引擎开发介绍3D引擎开发介绍3D引擎开发介绍3D引擎开发介绍3D引擎开发介绍3D引擎开发介绍3D引擎开发介绍
  • 3D游戏开发步步高系列课程.3D引擎 3D游戏开发步步高系列课程.3D引擎 3D游戏开发步步高系列课程.3D引擎
  • 3D引擎调研

    2013-08-24 13:32:42
    3D引擎调研 由于做项目要用到,对网上相关资料进行了整理。 此次调查的引擎满足以下条件: 开源:便于更改代码,优化性能,且免费。 支持OpenGL:DirectX只能用于windows平台 可移植到Android 效率相对较高:移动...
  •  为了更好地理解游戏的软件架构和对象模型,它获得更好的外观仅有一名Unity3D的游戏引擎和编辑器是非常有用的,它的主要原则。 Unity3D 引擎  Unity3D的是一个屡获殊荣的工具,用于创建交互式3D应用程序在多个...
  • Unity3D引擎技术点图谱 这图是对Unity3D引擎(版本5)的技术点罗列,未涉及到具体点的相关只是,可以将其当做自身知识体系的梳理对照图来看。 参考 [1] Unity用户手册 [2] 本人github ...
  • 3D引擎:Horde3D:App类

    千次阅读 2015-10-29 23:05:58
    Horde3D引擎 主要位于 Horde3D/Source/Horde3DEngine/Debug/下的 Horde3D.lib。 其源码位于Horde3D/Bindings/C++/Horde3D.h和 Horde3D/Source/Horde3DEngine/下的cpp文件里 Horde3D引擎资源的加载API 主要是 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,791
精华内容 5,116
关键字:

3d引擎