Torque介绍_torque是什么公司-程序员宅基地

技术标签: shader  引擎  嵌入式系统理论  开发工具  constructor  工具  游戏  

一、Torque介绍

1.Torque引擎开发公司

       Torque引擎的开发公司为美国的GarageGames,该公司成立于2000年,目前主要进行Torque系列游戏引擎平台的研发,其主要产品包括TGBTGETGEA,以及GarageGames公司即将于 12 11 开放的基于XNA的游戏引擎Torque X game engine

提到Torque 的开发者GarageGames公司,其名字是有意模仿“garage band”旨在唤起游戏开发者的共鸣,希望将更多致力于游戏行业发展而非一味追求名利的公司、团体、个人,通过GarageGames紧紧地连接在一起。GarageGames通过向这些开发人员提供开发工具和技术支持,与其共谋,给予游戏开发人员所需的帮助。开发人员还可以在GarageGames上发布自己的游戏。

2.Torque引擎系列产品

1 Torque Game Engine

Torque Game EngineGarageGames的主导产品,简称TGE,它是一个专业的3D引擎,最初由Dynamix2001年为第一人称射击游戏——Tribes 2而研发,而后由GarageGames向独立开发者和专业游戏开发商授权,由该引擎开发的商业游戏包括:“Marble Blast Gold”“Minions of Mirth”“TubeTwist”“Ultimate Duck Hunting” “Wildlife Tycoon: Venture Africa”,这些游戏涵盖了目前市场各种主流游戏类型。

2 Torque Game Builder

Torque Game Builder 简称TGBT2D Torque 2D,它是基于TGE,专为2D游戏开发设计的一套游戏开发工具。“Torque Game Builder”的功能集包括:动画精灵、灵活的方格、粒子系统、扫描式碰撞系统、刚体物力系统和硬件加速的2D渲染系统等,这些都是2D游戏开发很好的入手点,其代码可嵌入到Torque的其它产品上,比如TGE TGEA

3 Torque Game Engine Advanced

Torque Game Engine Advanced简称TGEA,是Torque家族产品的一个补充。TGEA建立在TGE技术之上,主要对TGE的室内外渲染引擎进行了改进,同时改进了地形渲染系统并提供了一些新的功能,为了更好的利用图形卡的功能以及DirectX9等技术,TGEATGE的渲染引擎进行了全面重写。

由于建立在通用材质系统和API无关的图形层之上,跨平台的TGEA还可以作为XBOX 360的开发平台。

4 Torque X

Torque XGarageGames最新推出的一款全新的引擎,该引擎与微软进行合作,专为XNA环境而打造。

5 Torque X Builder

Torque X Builder简称为TXB,是T2DXNA

3. 引擎配套的工具

       引擎自带的工具和引擎具有较好的磨合性,能为游戏开发者节省一定的时间和精力。所以Torque引擎配套的开发工具在此也值得一提。他们与Torque 引擎本身共同为开发者提供了强大便利的开发环境和技术支持,下面介绍几个常用的Torque配套的主要工具。

ATorque Constructor

       首先要介绍的是Torque专用的DIF工具, “Torque Constructor”。它是一个建设性实心几何体(CSG)所见即所得的笔刷编辑器。支持Torque引擎特有的属性,TGETGEA的用户都可以使用。

其特性如下:

1)建模,提供很多的工具画笔、修改功能、列阵、复制功能。

2)材质,提供材质管理、导入功能、可以从一面复制材质至另外一面。

3)可以插入DTS模型,综合处理场景,静态的网格,直接参与场景的烘培处理.

4)灯光系统,支持灵活灯光;支持动态光影效果预览;在Torque Constructor创建好的光照贴图直接被应用于TGETGEA

5)直接导出,支持TGETGEA(含TGE 1.5.1 TGEA 1.01)的DIF文件;支持通过command line .map 导出其他游戏格式的场景文件。

6)和TORQUE游戏引擎完美结合,支持烘培效果(只适用于TGE 1.5.1 TGEA 1.01);创建的光照贴图直接可以在TORQUE引擎里使用。

01TorqueConstructor.JPG

BTorque ShowTool Pro

      “Torque ShowTool Pro”是一款3D建模工具,能帮助设计者或程序员,通过虚拟的环境和技术支持检验他们的游戏素材。提供详尽、免费的参考手册,深入浅出的介绍了它的功能。

其主要特性如下:

1)通过简单地单击按钮就能方便地查看shape对象的材质细节和网格

2)易于理解的可视化工具提供了检查节点和模型节点结构功能

3)迅速改变shape对象的光照和渲染模式,便于比较。

4)迅速高效的分析shape对象的三角形面和三角形带的性能

5)检查模型的碰撞网格。

6)动态调节LODmip-mapping

7)合成动画,检查模型动画。

        简而言之,你的DTS shape对象在导入到游戏之前,其相关的方方面面都能通过TST Pro进行全面详尽的检查分析。

02Torque show pool.JPG

CTorsion

        Torsion是一个功能强大的开发环境,由Torque爱好者专门为基于TGETGEATGB,使用TorqueScript开发游戏而定制的。使用Torsion可以提高开发效率。熟悉其他流行的开发工具的用户初次使用Torsion会有似曾相识的感觉,它具有其它任何流行的IDE所拥有的一切优秀特性。

03torsion_devss.jpg

Torque还有很多相关的开发工具,我们可以在其官方网站获取相关信息。

4.Torque 引擎的基本特色

       从技术角度来讲Torque引擎的特点体现在以下几方面:

1Torque核心(3D图形引擎)

       Torque库拥有一个标准组件的、可扩展的3D渲染系统。渲染引擎支持环境贴图,高德纳着色,体积雾,支持顶点光照和多“pass”光照,以及其他特效。

2)世界编辑器:

  集成了所见即所得的世界地图编辑功能;支持对象的构建、放置、大小调整以及旋转功能;能够编辑对象的控制属性;内建地形编辑器。

3GUI编辑器:

  集成的、拖方式、所见即所得的GUI编辑器;可自定义控件;丰富的字体支持,包括“Unicode”支持。

4TGE网络:

   提供了健壮的网络端代码、脚本;支持局域网和因特网的网络游戏开发,具有传统的C/S架构;自动封包的数据流管理;使用UDPTCP数据传输协议;Ghost机制管理,支持必要对象的网络更新。

5)地形引擎:

  支持连续、无缝、自动“Mesh”细节生成的地形渲染;支持“MMX”加速的“Mip”贴图合成;支持地形、建筑物的光照贴图生成;支持基于高度分层的雾带渲染;支持地形纹理混合。

6)室内渲染引擎:

  支持基于“Portal”技术的室内渲染;支持与地形引擎的无缝集成。

7Mesh引擎:

  支持纹理动画、纹理坐标动画、透明渐变动画;支持多骨骼的“Mesh”骨架动画;支持动态投射阴影;支持渐进式“Mesh”生成的自动细节生成;支持“Mesh”顶点变形动画。

8)其它:

  3D音效支持;“Ogg Theora”的视频回放。

5.上手难度

        Torque易学易用,用户不用担心自己对高级编程语言不熟练或没有丰富的开发经验。只要具备基本的编码技术,就可以用Torque快速的开发一款自娱自乐的小游戏。它提供了两个Starter Kit,初学者可以通过修改,完善Starter Kit就能制作自己的游戏了。对于老手来说,Torque提供完整的技术平台支持,能满足专业游戏开发人士的需求,通过修改部分引擎代码能使引擎与你的游戏更贴切,更独具风格。

6.TGE开发的游戏

        下面是一些国内外都比较流行的,用Torque Game Engine开发的游戏。有兴趣的朋友可也下载试用版体验一下啊!当然正式版是需要购买的。

案例1Marble Blast Gold

       “Marble Blast Gold”是一款3D滚球游戏,整个游戏空间庞大,游戏的画面也很出众。滚球类型的游戏对画面的效果表现要求比较高,这款游戏的画面表现还是不错的。玩家可以在游戏的空间中自由移动,在超过100个关卡中挑战,螺旋机和超级跳的特殊能力使游戏充满了乐趣。适合于各个年龄段的玩家。

04Marble Blast Gold

案例2ThinkTanks

        “ThinkTanks”是一款坦克战斗游戏,可爱卡通坦克拥有着士兵的智慧,逼真的“Atari Combat 3D”场景,烟雾缭绕的战争场面,操作简单,老少咸宜。

05ThinkTanks

案例3TubeTwist

      “TubeTwist”是丹佛的“21 -6” 开发团队的新作,游戏荣获2005IGC最佳游戏画面,最佳单人游戏,最多创新游戏多项奖项,是一款类似不可思议机器3D管道组装游戏。游戏画面的3D空间相当完美,游戏支持多档屏幕分辨率。游戏中的管道线路色彩和质感都十分真实,而动画和光影效果也相当不错。游戏的关卡设计巧妙,每一关都需要玩家开动脑筋来进行挑战,同时玩家可以在游戏允许的范围内任意的制作想象中的管道,自由度很高。

06TubeTwist

案例4Tribal Trouble

      “Tribal Trouble”是一款有意思的即时战略游戏,一个类似上帝也疯狂的三维Q版卡通既时战略游戏,讲述古代原始部族之间的瓜葛纠纷,以及互相争斗的故事。从一个古老的故事开始,有一串线索,显示一群北欧海盗袭击者在庆祝他们最新的掠夺成就时,喝得叮铭大醉,使得他们在公海上迷路,并且在热带一群岛上搁浅。他们只好选择在这里停留,而因此给本地人带来许多的烦恼…….在快速实时的策略游戏中,玩家需要帮助部落的人解决他们的争端。

07Tribal Trouble

二、Torque的优势

  Torque Game Engine有了大致的了解后,我们来看看Torque一些出众的地方。

1.支持多平台

        基于跨平台以及Unicode的概念,你的游戏可以全球化。Torque除了支持Windows平台,你的游戏还能很方便地移植到 Macintosh, Linux X-Box 360 (with separate license) 各种主流平台上。例如,《Marble Blast Ultra(七彩滚珠/彩球闯天关/爆破弹珠球终极版)。该游戏是GarageGames专为Xbox Live Arcade开发的新作。Torque Engine引擎结合Xbox 360硬件,带来了一流的画质,而且游戏性极佳。

08:《Marble Blast Ultra》插图

09:《Marble Blast Ultra》插图

10:《Marble Blast Ultra》插图

2.Torque开发社区

       Torque development networkTDN是一个程序员、美工、项目负责人、关卡设计师、建模师及所有使用“Torque”的人的官方站点。TDN包含了,游戏开发者和“Torque”开发团队所提供的文档资料、各类教程;博客、论坛、问题区、供需版块;各类资源,包括美术、声音、行业资源、软件工具的参考信息;新增技术特性等等。只要使用自己的GarageGames账号登陆就能访问到大量的文章,参考资料,论文和源代码。

3.Torque Game Engine用于教学

        torque价格低廉,容易上手,对硬件要求低,而且拥有TDN这一活动文档知识库的支持使得TGE很适合用于教学。从艺术游戏类专业院校到综合性大学,全球超过100所院校使用Torque Game Engine进行游戏开发教育。另外,近几年,国外教育游戏的设计开发已经成熟发展起来。目前出现许多Torque开发的、寓教于乐的软件,比如“Dimenxian”,由Tabula Digita公司开发。它既具备游戏的可玩性,同时提供高效的学习平台,将学生带入一个神奇的3D世界。在那里,他们获胜的唯一希望就是掌握和解决一系列代数问题,玩家必须能控制那些危害物并想办法解决隐藏在其后的种种谜题。

11Dimenxian_feature.jpg

. 良好的性价比:

       TGE不仅授权费用低廉而且具有质量的渲染效果和一整套技术支持,解决方案。它提供了丰富的特性并且大众支付得起的技术,为独立开发者和中小型游戏开发商提供了开发之门。

. 容易学习,适用于不同层次的开发者:

       Torque非常容易上手,使用Torque,甚至可以在一天之内就完成原形开发。而其完整强大的功能和在线技术支持使得Torque也完全能满足高级用户的需求。

. 对硬件要求低:

      Torque对硬件平台要求不高,这意味着Torque凭借自身良好的渲染和计算特性,使游戏的终端用户得到很大的便利。

三、Torque的不足

         任何事物都有它不足的一面。目前关于Torque引擎的网络部分还存在着一些争议。它的局限性是存在的,比如Torque引擎单台服务器的最大支持人数不超过128人,即使经过优化也不会超过300人。对于要使用TGE开发网络游戏的朋友来说,也许不是个简单的事情。但是,众所周知,获奖网络游戏“Minions of Mirth” 同一时刻Minions of Mirth一个地图服务器可以同时支持3000个单位走动)就是用TGE开发的。开发者提出了一套完整的MMORPG解决方案代码,并将于近期对外出售。而且这次出售的“Minions of Mirth”包是官方推出的,口碑很好,也一直实际运营着。开发者也将他的网络解决方案整合在里面,更有利于个人或者小组的开发和运营。

        另外,Torque Game Engine的渲染引擎是固定渲染管线,不可编程。故而不能充分发挥硬件的性能,但是TGE的提高版本TGEATGE Advanced)具有强大的可编程渲染管线,并提供给开发者程序生成的着色系统,开发者只需简单的定义材质属性就能获得高质量的渲染效果。但是TGEA的授权费用也要相对高些。

四、结束语

        目前,微软和GarageGames合作开发的PC/360游戏开发工具“XNA Game Studio” 将于 8 30 发布其测试版。微软表示,“XNA GAME STUDIO”是一套有着强大功能和简单界面的游戏制作平台,不仅小型游戏开发商可以方面使用,甚至游戏玩家和学生也可以轻松掌握。目前已经有十几所大学宣布使用“XNA GAME STUDIO EXPRESS” XNA GAME STUDIO的版本之一,面向初学者)用于教学。微软表示,这套工具虽然看似简单,但功能非常强大,甚至可以开发出《光晕2》那样的大作。GarageGames为其提供了Torque游戏引擎,让用户可以设计出复杂的3D游戏。

        无论从授权、特性还是强大的TDN支持来说Torque都是一款相当不错的游戏引擎。Torque取得的成功是GarageGames和所有关注、致力于Torque的开发者共同努力的结果。

        在今后的连载中,我将继续和大家探讨Torque和它的相关工具的特点及使用,以及如何通过脚本来驾驭这一功能强大的引擎,并将尽可能地为大家提供最新的关于GarageGames和它的相关产品的消息。

【作者简介】王蕾,毕业于北京交通大学,曾留学于比利时Group T Leuven大学,主修数字媒体艺术和游戏开发,现工作于北京递归开元教育科技有限公司。

一、TGEA概述及核心高级特性

        对于经验丰富,技术娴熟的游戏开发者,可以尝试一下TorqueGameEngineAdvancedTGEA),它能够发挥现代显卡技术的优势,制作出绚丽的游戏场景。当然,除了漂亮的渲染特效外,TGEA还提供健壮的脚本、编辑、物力、网络、动画和错误跟踪基础,是一些专业游戏开发公司不错的选择,因为这样一个完整而规范的开发平台,为游戏能够按照严肃的开发流程顺利进行下去提供了保障。

TGEA概述

        TGEA是建立在TGE技术基础上的,它在保持了TGE所具有的一切优秀特征(诸如Torque网络、几何地形、Torque光照系统和Mesh动画)的同时,还对其室内外渲染引擎进行了修改,改进了地形渲染系统并提供了新的功能。TGEATGE渲染引擎进行了彻底重写,旨在让用户能够充分利用现代图形卡、DirectX9等技术。而使用TGEA制作出的水面、反射、折射效果也令人刮目相看。除此之外,它还能够快速整合具有诸多高模的复杂场景。

核心高级特性

  • 提供了与操作系统无关的图形API接口,支持DirectX9,同时在设计时保证将来对OpenGL的支持
  • 程序生成“Shader”支持法线贴图、细节贴图、镜面高光、立方体环境贴图、glow、反射、折射、纹理坐标动画等
  • “shader”接口能够轻松地继承自定义的“shader”“effect”
  • 灵活的顶点缓冲管理和纹理管理,支持静态、动态和“volatile”的顶点缓冲

全新的光照系统

二、重点特性介绍(渲染、地形)

1.地形

Atlas地形

       TGE相比,TGEA引擎提供了更出色的室外场景渲染引擎,其技术支持主要来自于TGE的地形引擎。从“Starsiege”“Tribes 2” 游戏,地形一直是Torque游戏的重要组成部分,因此TGE的地形引擎是相对比较成熟的。而TGEA则在TGE的基础上采用了独特的地形系统。首先,它仍继承了TGE的地形引擎作为接口并对其shader进行了一些优化措施(enabled cards)。其次,TGEA自有一套地形系统——Atlas地形引擎,它是对TGE地形引擎的彻底重写。不同于原来的“Torque”地形技术,它不仅结合了现代硬件能力,使地形纹理混合在硬件中得到实现,还令全新的地形引擎拥有很大的可视距离,并且支持庞大的地形数据。由于“Atlas”地形技术能够根据需要进行快速的分页处理,所以设计者可以随意地创建很大的地图,而且能够进行强大而高速的地形碰撞检测,同时还继续支持TGE地形技术。

2.材质和渲染

1)材质系统

       TGEA的材质系统是其成为一款成功开发工具的重要因素,引擎中几乎所有的渲染都在使用新的材质系统。其适用的范围也比较广泛,包括所有几何体类型,无论是建筑物、地形还是有皮肤的角色,只要材质相同,外观就会相同。材质系统可以让设计者轻松地把自定义的“Pixel Shader”“Vertex Shader”和特效集成进去,而且它还能自动生成支持多种纹理和光照选项的“Shader”,让环境渲染极为真实。当然,最好是指定材质数据自动生成“Shader”以简化过程,这样更加符合设计要求。

2)材质渲染的灵活性

      设计者可以在材质中指定数据,使引擎生成必要的“Shader”以渲染这些材质。这是一个功能强大的系统,它不需要程序员亲自创建“Shader”“Shader”完全是按照设计者的需求而生成的。由于材质本身包含许多参数,所以“Shader”能够生成的组会大概有数千种。

3)自定义材质

      引擎生成的“Shader”也并非是万能的,对于一些特殊效果或自定义外观则需要使用自定义材质。TGEA提供的接口或转换层能让程序员把自己的“hlsl”文件或者汇编文件放到引擎框架中。

4)纹理烘焙渲染功能(render-to-texture functionality

      TGEA支持“glow”、折射缓冲以及各种将来可能的效果,如“Depth-of-Field”、运动模糊等。

5)水面渲染

      新的水面渲染更加高效和易于使用。其支持实时的法线贴图扰动反射,新的水面不仅可以以任意角度放置,也能够自由设定水的色调、雾化效果、波动参数以及其它参数,还能用于表现一些特殊效果,而且可以用于非水面效果的场合。

【插图:tgea_water

3.图示引擎特性

       下面笔者将通过具体的图示,详细介绍一下TGEAshader引擎的特性。

        1TGEA包含全新的渲染引擎,可以渲染出极其复杂的高质量场景。

【插图:新的渲染引擎】

       2)现在的渲染引擎拥有次时代的shader,通过可编程shader和固定贴图管线支持复杂的材质系统。

【插图:shader引擎】

      3)可编程shader生成器支持大量材质特性,包括镜面高光、bump 贴图等。

【插图:材质属性】

        4)完全支持glow buffers

【插图:Glow 缓存】

          5)材质支持贴图法线动画,动画包括滚动、旋转、缩放和基于像素的wave

【插图:动态纹理】

          6)在滚动、发光、立方体贴图、bump 映射以及镜面高光中结合了复杂的材质属性。

【插图:复杂的材质】

         7)基于不同材质属性和当前用户硬件,可编程shader生成器能自动产生200多种优化的shader

【插图:复杂的材质】

         8)支持基于顶点的折射和基于像素的折射。

【插图:折射-基于顶点】

【插图:折射-基于像素】

         9)引擎包含静态和动态立方体贴图的生成。

【插图:立方体环境贴图反射】

        10)通过可编程shader,大量的材质都在设计者的掌握之中,他们能很容易的为场景添加特效。

【插图:用户定制Shader

         11shader材质可以应用于所有的可渲染表面,包括静态或动态的、内景或外景、有光照贴图或没有的。

【插图:Full Integration

        12)支持平滑的大型室外场景环境。

【插图:大型室外场景1

【插图:大型室外场景2

4. 其它

1.网络端稳定

        由于TGEA的网络端相对稳定,所以其能够成功地运行于多款商业游戏中,如“Vivendi’s Tribes 2” 以及美国国家航空和宇航局的火星漫游模拟项目。

2.为视频主机用户提供Torque组合套件

       游戏玩家们都知道“XBOX 360 Live”俘虏了游戏制作者的想象力,给视频游戏带来了极大的冲击,而TGEA为开发者提供了制作视频平台(比如“XBOX 360” )的次世代游戏的技术桥梁。由于建立在通用材质系统和API无关的图形层之上,使得跨平台的TGEA能够发挥“XBOX 360” 的硬件特性。程序自动生成的“pixel Shader”“Vertex Shader”、大规模室外地形的生成以及迷人的水面渲染,都令“XBOX 360” 的优势得以发挥。“TGEA XBOX 360” 也提供了“XBOX 360 Live API”“Gamescore”“Achievement”以及其它特性上的支持。

       总之,TGEATorque家族的出色补充,它为开发者提供了次世代游戏的开发技术。

三、成功案例

         “XBOX Live Arcade”平台上,利用GarageGames “Torque”引擎开发的“Marble Blast Ultra”在很短的时间内就冲到了第一名的位置,无论是在图形表现、游戏性还是多玩家的体验上都得到了大家的认可。以“TSE Xbox 360” 为基础,“Marble”还使用动态立方体贴图来反射游戏场景,使用“Glow shader”来表现出炙热的效果。“Marble Blast Ultra”可以说是各种视觉特效的集合,其中有玻璃的折射效果、金属的反光效果、多彩的墙砖、发光的加油站以及多云层的动画天空效果等。总的来说,这个加强版的“Marble Blast”无论在图形逼真度还是游戏性上都是一种很大程度的飞跃。

图注:Marble Blast Ultra 组图

初识TorqueGameBuilder

       作者感言:面对游戏产业的“3D流行趋势2D游戏是否还能坚持自己的市场与理念呢?在GDC大会上,《恶魔城:月下夜想曲》、《恶魔城:白夜协奏曲》、《恶魔城:晓月圆舞曲》等恶魔城系列游戏的制作人——Konami的五十岚浩司坚持认为:虽然目前3D游戏发展迅猛,但同时需要设计者花费更多的精力去制造复杂度很高的物体效果,2D游戏在设计和制作方面既容易又便宜,在产品周期上有着绝对的优势,而且透视画法也能很好的表现物体距离的远近。避免了复杂的模型显示、渲染问题。显然,2D游戏可以节省更多的时间和精力来让画面变得精致、美丽而令人震撼。因此,我们相信2D游戏以其独特的魅力仍将在游戏市场继续参与竞逐。因此,本文将针对GarageGames的系列引擎之一“TorqueGameBuilder”(简称TGB)进行一个概要的描述,希望可以对爱好游戏制作的朋友提供一些参考。

一、TGB基本特色

       GarageGames公司的 “TorqueGameBuilder”是一个功能全面的次世代2D引擎,操作简单快速而有趣。它为开发者提供了的功能集包括:动画精灵、灵活的方格、粒子系统、扫描式碰撞系统、刚体物力系统和硬件加速的2D渲染系统。这些都是游戏开发很好的入手点。

      正如GarageGames公司的其它产品一样,TGB游戏使用TorqueScript开发,容易上手、方便移植,开发者可以得到官方网站提供的教程、完整的参考手册以及来自GarageGames公司和在线社区的专家的支持。但是TGB只提供2进制文件,要想获得源码需要购买TGB pro(即TGB增强版)。

01TGB-Features

1.视觉震撼

      使用硬件加速引擎的TGB能够轻松处理精灵、视差滚动、3D对象、分层渲染、摄像机调节以及多场景操作,其具有如下特色:

     1)硬件加速的场景图驱动框架(Hardware Accelerated SceneGraph Driven Framework

     TGB的场景图是一个数据结构,它管理着游戏参数,利用其固有的分级特性,开发者可以对游戏参数进行分层管理,可以灵活的改变游戏中某些全局属性,也能改变某些特定类的对象属性。场景图为提高游戏性能开和发效率提供了很好的框架。TGB可以自动拣选不会在屏幕中显示的物体,并能依据游戏状态对对象属性(例如材质和贴图)归类。通过归类,所有相似的对象可以一起绘制。拣选不在屏幕中显示的物体去除了对CPU、总线、GPU的不必要的负担,而状态归类则减轻了GPU的负担并保持图形渲染管线简单有条理,优化了数据吞吐量。随着GPU的处理能力越来越强,保持渲染管线的清晰有条理对维持其高速有效的运算显得更为重要。

2)强大的精灵支持

     TGB有一个强大的精灵渲染系统,在TGB中精灵渲染非常迅速,而且像其他TGB对象一样,精灵能够通过图形硬件被缩放、旋转、设定各种动画,还能让它们具备碰撞检测和物理响应的功能。在TGB中,精灵分为具有复杂动画和不带动画的两种。

     具有动画能力的精灵通过动画数据集和动画控制器来实现动画。动画数据集从图象映射表中加载动画帧并通过帧序列来定义动画,然后定义动画的播放时间,并能够设置动画是循环播放还是随机播放。动画控制器控制并播放精灵动画。动画数据集和控制器共同管理动画的定义、建立、播放和操作。这种行为的封装使开发者很容易地自定义动画类。这些自定义动画可以被应用于每一个TGB的动画对象。

那些不带动画的精灵被称为静态精灵,它们可以自由地在屏幕上被移动,具有完全的碰撞和物理属性,甚至可以被改变它们的渲染帧,但是他们没有强大的动画界面。尤为重要的是,静态精灵没有动态精灵所具有的动画数据,因此,当它们通过位移而产生动画时,这种特殊的精灵类可以通过限制了它的外部函数调用而提高效率。

3)视差滚动

     TGB定义了多种滚动背景层,这些层可进行排序,使用不同的滚动速度进行分层渲染以模拟3D滚动环境,让玩家产生一种深度感。在TGB中定义多重横向卷轴背景很容易实现。我们还可以对这些背景进行分类,并将其分配到具有不同滚动速度的渲染层上去。视差滚动效果是对3D卷轴环境的一个模拟。

4)分层渲染

     TGB可将对象划分到不同的背景层中进行排序渲染。这种分层功能为渲染提供精确的景深排序。这种层的排序可以随意改变并且随时都可以改变对象所在的层。而且,同层对象间还可进行深度排序(z排序)。通过这种方式TGB给开发者提供了很对渲染对象细致的深度排序控制。当然我们还可以按意愿使用很少的渲染层以简化渲染,也可以使用很多的渲染层来创建绚丽的视差效果。

5)摄像机调节

     TGB的摄像机系统非常灵活。摄像机能够随时实现调焦使屏幕窗口对准场景的一块区域、可旋转和上下左右的导航,可以使视窗对准一精确位置或区域,并由当前位置平滑地移动到目标对象,或者通过将视窗加载(mount)到对象上来以固定的距离跟随对象(例如一个玩家化身),也可以执行碰撞和其它效果。此外,TGB还提供了参数可调的电影效果,比如抖动。我们也可以取消或改变视线的移动,或到起始点。TGB的摄像机系统可以创建很酷的、复杂的摄像路径和场景效果。

6)多重场景

      同一时刻可以运行多重场景图并且每个场景图可以有多个窗口,因此我们可以拥有多重的独立的场景,或者每个场景拥有多重视图。

02TGB_场景图

2.工具集

       TGB所集成的工具集能够管理粒子效果、方格地图、GUI、关卡编辑等等。有丰富的工具集的支持,开发者就可以将更多的时间放在设计上而不是代码上。

1Tile编辑器

       TGB的精灵相似,Tiles也分为静态创建和动态创建两种,也具有相似的管理图像和动画的工具。与许多2D引擎不同, TGB提供了动画效果丰富的Tile编辑功能。另外tiles可以被定义为激活的。一个被激活的tiles是指一个对游戏世界产生影响的tiletile→game world)。这一机制要比反过来创建tile层,然后将一个影响游戏世界的对象关联到层(game world→tile)的效率高得多。 每一块tile都具有与其关联的脚本,并在tile被显示的同时运行, 而且这些tile和碰撞检测、物理系统紧密联系在一起,支持动态贴花环境。游戏对象可以和tiles碰撞,并使对象产生完全真实的物理效应。

2)粒子编辑器

03TGB_粒子编辑器

       粒子系统分三层组织——粒子效果、粒子发射器以及粒子本身。粒子效果可以包含任意数量的粒子发射器并随时间变换控制这些发射器。粒子发射器以发射可控的细小粒子。而粒子本身是轻量级可高效渲染的动态精灵。它们可以利用动画控制器来改变贴图,进行缩放或改变可视性、颜色、强度、动量、旋转以及其它随时间改变的属性。任何时候都能对粒子的纹理、缩放、透明度、颜色、深度、引力场、旋转以及其它属性进行控制。效果和发射器都是由静态或时间相关的属性域的集合构成的。这些随时间变化的域由时间曲线图(time-graph)系统来控制的,包括粒子或发射器的运动和速率,包括生命周期等等。粒子编辑器将我们从以往必须通过脚本来完成的粒子特效工作中解脱出来,以往脚本能实现的特效通过粒子编辑器都能实现。此外,与其它所有标准的TGB对象一样,粒子特效也继承自场景对象。这意味着,粒子特效可以被任何其它对象操作,可以被移动、加载、缩放、分配给某个组或层,甚至具有物理特性方面的交互。

3)游戏GUI编辑器

       TGB集成了一个所见即所得的图形用户接口编辑器,能够让你轻松的创建自己的游戏图形界面。它提供了丰富的字体支持,允许开发者自定义的控件。

04TGB_GUI编辑器

4)关卡编辑器

       编辑器提供一个有缩略图的资源库,可以通过简单地拖放和修改上下文相关的属性进行编辑,定制编辑器的外观,具有多重场景显示能力。

5)打包工具

       这些工具可以分析我们的文件并将它们保存为最有效率并自然符合于“EULA”格式要求的文件格式。我们还可以通过使用不同的插件将其打包保存成其它文件类型。

3.物理引擎

1)刚体动力学

       TGB的刚体动力学模拟了牛顿经典物理学及其所有标准物理特性,其动力学模型包括:惯性、线速度、角速度、摩擦力、弹性复力、运动阻尼等功能,并提供了简单的方法以应用冲击力和转矩。设置物体属性很简单,基本操作为打开物体的自动碰撞反应,设定物体的物理属性参数。这些参数包括摩擦力、弹性复力、运动阻尼、密度以及阻抗因子。前4种是用来定制对象物理属性的系数因子。密度用来计算物体的质量。阻抗因子用来增加或减少施加在对象上的力,还有很多额外的可调物理参数,诸如最大、最小线速度,角速度等都可以被设定,这些参数也会受到重力的影响。同样,TGB的数据集机制使得设置这些参数简单而快捷。多对象可共享同一个数据集,这样,使用碰撞材质数据集的确节省不少开发时间。

2)自定义的碰撞响应系统

        当然我们可以不使用TGB默认的物理系统和碰撞响应系统。TGB的任何对象来自于默认的物理响应系统的反应,都可以打开或关闭。例如,当我们希望一个对象A仅对其它对象产生用户自定义的物理反应时,我们需要打开A对默认物理系统的反应属性的发送能力,而关闭它的接受能力。开发者完全可以自由的使用自己的物理响应系统,或者用C++或脚本语言开发。

3)基于物理属性的对象加载

06TGB_对象加载

       TGB允许我们将一个对象加载到另一个对象上。当我们将一个对象加载到另一个对象上后,这两者将一起移动。另外我们还可以指定这种加载是否是刚性的(即被加载的对象和其父对象保持一定的距离)或者使用加载力。通过加载力我们可以指定被加载的对象如何随父对象运动。比如,可能当父对象运动时,被加载的物体会滞后于父对象,或者在父对象休息时赶上来。

4.碰撞检测

1)扫动式碰撞检测

       TGB提供双阶段模式的碰撞检测系统执行扫描式碰撞检测。第一阶段是边界检测,目的是迅速排除不会和其它物体发生碰撞的对象。第二阶段进行对象之间的检测,此时应用扫动式碰撞检测技术,可以检测重叠的对象,还能检测解体的对象在推进过程中的碰撞。

07TGB_独立碰撞因素和检测

2)碰撞多边形

08TGB_碰撞检测多边形

        为精灵自动生成紧凑的碰撞多边形,它们会随着精灵的大小自动调整自身尺寸。

3)独立碰撞因素和反应

        如前所述,你可以定义物理系统和碰撞响应系统,为了使用自定义的碰撞响应系统,你可以关闭或打开一个对象的接收或发送系统默认碰撞响应的能力。

09TGB_碰撞反应

4)层和组的碰撞约束

       层和组均可用于碰撞检测。例如,我们知道碰撞检测是一个非常耗时的计算,但如果我们规定了一个物体只能和特定层或组的对象作碰撞检测就可以大大加速运算速度。

5) Torque Net Lite

     Torque Net Lite是一个基于事件的网络库,是由前“Torque”网络库改编而来的。它不是一个实时的ghosting风格的网络解决方案,虽然本质不同,但它尽可能地保持了相似性。另外TGB Pro的使用者可以借助TDN资源修改源码使其网络功能更高级适用。

二、TGB应用的成功案例

     Rack ' Em Up Road Trip 》桌球之旅是一款充满休闲风格的台球游戏,它具有卡通的画面,流畅的操作以及多样的玩法。新颖的美国巡回挑战赛模式使本作品充满创意。

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/bisword/article/details/3224980

智能推荐

攻防世界_难度8_happy_puzzle_攻防世界困难模式攻略图文-程序员宅基地

文章浏览阅读645次。这个肯定是末尾的IDAT了,因为IDAT必须要满了才会开始一下个IDAT,这个明显就是末尾的IDAT了。,对应下面的create_head()代码。,对应下面的create_tail()代码。不要考虑爆破,我已经试了一下,太多情况了。题目来源:UNCTF。_攻防世界困难模式攻略图文

达梦数据库的导出(备份)、导入_达梦数据库导入导出-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏10次。偶尔会用到,记录、分享。1. 数据库导出1.1 切换到dmdba用户su - dmdba1.2 进入达梦数据库安装路径的bin目录,执行导库操作  导出语句:./dexp cwy_init/[email protected]:5236 file=cwy_init.dmp log=cwy_init_exp.log 注释:   cwy_init/init_123..._达梦数据库导入导出

js引入kindeditor富文本编辑器的使用_kindeditor.js-程序员宅基地

文章浏览阅读1.9k次。1. 在官网上下载KindEditor文件,可以删掉不需要要到的jsp,asp,asp.net和php文件夹。接着把文件夹放到项目文件目录下。2. 修改html文件,在页面引入js文件:<script type="text/javascript" src="./kindeditor/kindeditor-all.js"></script><script type="text/javascript" src="./kindeditor/lang/zh-CN.js"_kindeditor.js

STM32学习过程记录11——基于STM32G431CBU6硬件SPI+DMA的高效WS2812B控制方法-程序员宅基地

文章浏览阅读2.3k次,点赞6次,收藏14次。SPI的详情简介不必赘述。假设我们通过SPI发送0xAA,我们的数据线就会变为10101010,通过修改不同的内容,即可修改SPI中0和1的持续时间。比如0xF0即为前半周期为高电平,后半周期为低电平的状态。在SPI的通信模式中,CPHA配置会影响该实验,下图展示了不同采样位置的SPI时序图[1]。CPOL = 0,CPHA = 1:CLK空闲状态 = 低电平,数据在下降沿采样,并在上升沿移出CPOL = 0,CPHA = 0:CLK空闲状态 = 低电平,数据在上升沿采样,并在下降沿移出。_stm32g431cbu6

计算机网络-数据链路层_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏8次。数据链路层习题自测问题1.数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与”数据链路接通了”的区别何在?2.数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。3.网络适配器的作用是什么?网络适配器工作在哪一层?4.数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?5.如果在数据链路层不进行帧定界,会发生什么问题?6.PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输

软件测试工程师移民加拿大_无证移民,未受过软件工程师的教育(第1部分)-程序员宅基地

文章浏览阅读587次。软件测试工程师移民加拿大 无证移民,未受过软件工程师的教育(第1部分) (Undocumented Immigrant With No Education to Software Engineer(Part 1))Before I start, I want you to please bear with me on the way I write, I have very little gen...

随便推点

Thinkpad X250 secure boot failed 启动失败问题解决_安装完系统提示secureboot failure-程序员宅基地

文章浏览阅读304次。Thinkpad X250笔记本电脑,装的是FreeBSD,进入BIOS修改虚拟化配置(其后可能是误设置了安全开机),保存退出后系统无法启动,显示:secure boot failed ,把自己惊出一身冷汗,因为这台笔记本刚好还没开始做备份.....根据错误提示,到bios里面去找相关配置,在Security里面找到了Secure Boot选项,发现果然被设置为Enabled,将其修改为Disabled ,再开机,终于正常启动了。_安装完系统提示secureboot failure

C++如何做字符串分割(5种方法)_c++ 字符串分割-程序员宅基地

文章浏览阅读10w+次,点赞93次,收藏352次。1、用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代。示例://借助strtok实现split#include <string.h>#include <stdio.h&_c++ 字符串分割

2013第四届蓝桥杯 C/C++本科A组 真题答案解析_2013年第四届c a组蓝桥杯省赛真题解答-程序员宅基地

文章浏览阅读2.3k次。1 .高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记_2013年第四届c a组蓝桥杯省赛真题解答

基于供需算法优化的核极限学习机(KELM)分类算法-程序员宅基地

文章浏览阅读851次,点赞17次,收藏22次。摘要:本文利用供需算法对核极限学习机(KELM)进行优化,并用于分类。

metasploitable2渗透测试_metasploitable2怎么进入-程序员宅基地

文章浏览阅读1.1k次。一、系统弱密码登录1、在kali上执行命令行telnet 192.168.26.1292、Login和password都输入msfadmin3、登录成功,进入系统4、测试如下:二、MySQL弱密码登录:1、在kali上执行mysql –h 192.168.26.129 –u root2、登录成功,进入MySQL系统3、测试效果:三、PostgreSQL弱密码登录1、在Kali上执行psql -h 192.168.26.129 –U post..._metasploitable2怎么进入

Python学习之路:从入门到精通的指南_python人工智能开发从入门到精通pdf-程序员宅基地

文章浏览阅读257次。本文将为初学者提供Python学习的详细指南,从Python的历史、基础语法和数据类型到面向对象编程、模块和库的使用。通过本文,您将能够掌握Python编程的核心概念,为今后的编程学习和实践打下坚实基础。_python人工智能开发从入门到精通pdf

推荐文章

热门文章

相关标签