现在市面上的游戏引擎有很多,想在这么多引擎里面脱颖而出可以想象难度是非常大的。最近才刚刚刚关注到Unity3D这款游戏引擎,我不敢说它在技术上如何超越了其他引擎,但我相信在理念上它已经走在了前面。关于Unity3D的介绍,官网上已经很全面了,在这里只是想讨论其中的几个亮点。
全平台支持:
支持的平台:PC, Mac OS, Web, iOS, Android, XBOX360, PS3, Wii。这种跨平台能力,让人很难再挑剔了。特别要关注的是Web,iOS和Android平台,这几个平台的重要性不用多说了。
全新的授权、盈利模式
过去的游戏引擎都是通过卖license赚钱的,现在Unity3D打破了这一常规,除了收费的license还提供了完全免费的简化版本,而且另外提供了Union和Asset Store销售平台,任何游戏制作者都可以把自己的游戏放到Union平台销售,赚到的钱二八分成。Asset Store更是为单个的美术资源提供了一个销售平台,一个模型或一个骨骼动画都可以拿到这里销售,为游戏开发者提供了一站式的销售、开发平台。
免费的license一方面扩大了用户群,另一方面也可以通过Union平台来为Unity3D带来额外的收入,可以说是一石二鸟。
开发:
脚本语言在Unit3D游戏开发中占据了主角的位置。Unity3D提供了三种脚本语言的支持:Javascript、C#、Boo,Boo是Python在.Net上的实现。值得注意的是Unity3D通过Mono实现了.Net代码的跨平台。这样对数据库、xml、正则表达式等技术的支持都因为采用了.Net而得到完美的解决。
脚本语言的动态特性让我们可以方便的通过名称、层次结构、tags等方式访问所有的对象。当然更大的好处是脚本语言的跨平台性,绝大部分平台相关的代码都放到了引擎的内部,而游戏内容相关的代码都可以跨平台执行。游戏开发者终于可以不再为跨平台头疼了。
渲染:
支持100多种光照材质shader,20多种后期处理效果。Unity3D的surface shader还是比较灵活的,可以非常自由的定制。不过不清楚后期处理有没有提供这么灵活的扩展能力。当然Unity3D提供的各种后期处理效果已经非常优秀了,扩展能力更多的是体现架构的可扩展性。
Unity3D的渲染性能优化也是比较有自己的特色的。
其他:
Unity3D对网络通信的支持比较全面,不过开发MMO的话还是不能满足需求的。因此Unity3D推荐了几个MMO的服务器平台可以配合使用,包括Electrotank Universe Platform, Photon Socket Server, Smartfox Server。另外Unity3D可以直接运行在浏览器页面内也是未来的一个趋势。
Unity3D提供的Unit Asset Server方便了对游戏资源的管理和版本控制。
Unity3D提供了包括编辑器、beast渲染器、tree creator等大量的辅助工具。