Blender及其游戏引擎

来源:互联网 发布:网络大专读什么专业好 编辑:程序博客网 时间:2024/05/17 04:33
简单点说,Blender是一款3D制作软件,同3DMax,Maya类似,可被用于3D动画和3D游戏的制作,与3DMax,Maya高昂的授权价格不同,Blender开源免费,GPL授权协议,不过这点优势在中国似乎不被关注,盗版猖獗,很多人对自己日常使用软件的授权价格一无所知,甚至有些人对自己使用的软件是否收费都不清楚,不得不说是一种悲哀,国人宁愿花奢侈的价格去买硬件,但却舍不得在软件上花一块钱。

 

不过Blender虽然是免费软件,但却具有商业的品质,具有3DMax和Maya类似的功能,甚至有些功能强于二者,虽然整体比较与商业软件还是有很大差距,不过至少对我来说是够用了,过于复杂的功能也用不上。

作为一个软件,最重要的事情就是有谁在用。就如同一个公司的合作伙伴,如果都是大牌,就更容易让人相信品质,否则即使再出色,也略显不足。这倒不是说人们都喜欢跟风,一个软件总用于大型的商业场景,最起码你重复做相同的东西不会遇到麻烦,否则Blender即使做再好,如果并没有做一个动画出来,有谁会相信他是有能力做出来的呢?所以Blender基金会做了三个高品质的动画短片《Elephants Dream》、《Big Buck Bunny》、《Sintel》,目的在于向人们展示Blender所能达到的效果,同时在制作动画时的一些经验反馈于Blender,让其更适宜制作动画。

Blender的界面操作相对其他传统商业3D建模软件有很大不同,给我的感觉是自由灵活,这方面多说无益,具体操作才能所有体会。而且软件本身跨平台,这对喜欢Linux的人极为有吸引力。

另外,Blender内置了游戏引擎BGE(Blender Game Engine),可以方便的做出一款游戏,由于其本身是建模软件,所以制作模型、场景方面无需担心,加上Logic Bricks功能,几乎可以不写代码,用鼠标拖拽便可完成一个简单的游戏,如果需要复杂一些的逻辑,可使用Python脚本便捷的完成。这方面仍然有一个出色的示例:Yo Frankie,有兴趣可以下载体验一下Blender游戏方面的强大。

不过Blender是GPL授权,直观点说,如果仅仅制作动画和游戏资源,不会有任何问题,可以把使用Blender的产物做任何商业用途,但如果使用Blender的游戏引擎BGE,由于使用到了GPL的代码,所以自己的代码也必须开源,这对于需要闭源销售的游戏无疑是一种制约。

对于这方面,开源社区也做了很大的努力,例如Blender可用Python自定义插件,使用插件导出资源用于其他游戏引擎,支持Blender导出的开源引擎比比皆是,不过我感觉都不是很完美,需要做大量的工作,尤其是Android和IPhone端的游戏引擎。

开源引擎中我最喜欢Ogre,但其仅仅是个图形引擎,如果要做成游戏,需要耗费大量的精力整合其他模块,不过仍然有人为其做了相关工作:Gamekit,开源的力量真是无穷啊。Gamekit算是一个完整的游戏引擎,整合了很多开源组建,可适用于各种平台,包括Android和IPhone,其授权协议为Mit,相当于可随意使用。使用Ogre作为图形引擎的分支为Ogrekit,不过目前看似只有这一个分支存活了,其最吸引人的地方在于可直接使用Blender生成的游戏文件,不同在于使用Blender制作游戏时,Python脚本需要使用Ogrekit内置的Lua脚本替代。

当然,Gamekit有个极大的缺点,Gamekit被问及频率最高的问题恐怕是:这个项目仍然存活么?因为其文档和提供下载的文件都已经至少是一年前的,但其SVN显示最近一直有人持续更新,所以这个项目确实有人在不断维护,但是活的好不好就不得而知了,文档极为缺乏,而且目前为止,我还未看到有使用这个引擎作出的任何游戏。就像之前提到的,没有做出产品的软件能让人放心么?

不过我试过Ogrekit提供的示例程序,都可以正常运行,仅是Blender addon有些许问题,也很容易修复。不管怎样,我仍然希望能有更多的人去维护并使用这款游戏,因为它确实很有意义,而且项目发起人是Bullet物理引擎的作者,希望其“名牌效应”能够吸引更多的从事这款引擎的开发和使用。