购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 Blender游戏引擎

Blender游戏引擎是一款开源的跨平台全能三维动画、游戏、特效、影视、VR/AR制作软件,提供从建模、动画、材质、渲染、音频处理、视频剪辑等一系列动画短片制作解决方案。

1.3.1 Blender游戏引擎简介

Blender是一个开源的多平台轻量级全能三维动画制作软件,提供从建模、雕刻、绑定、粒子、动力学、动画、交互、材质、渲染、音频处理、视频剪辑以及运动跟踪、后期合成等一系列动画短片制作解决方案。Blender以Python为内建脚本,支持yafaray渲染器,同时还内建游戏引擎,商业创作永久免费。

Blender拥有方便在不同工作方式下使用的多种用户界面,内置绿屏抠像、摄像机反向跟踪、遮罩处理、后期节点合成等高级影视解决方案。同时还内置有卡通描边和基于GPU技术Cycles渲染器。

Blender为全世界的艺术家和媒体工作者而设计,可以被用来进行3D可视化,同时也可以创作广播和电影级品质的视频,另外内置的实时3D游戏引擎,让制作独立回放的VR/AR/3D互动内容成为可能。

Blender游戏引擎具有跨平台支持功能,它基于OpenGL的图形界面在任何平台上都是一样的,而且可以通过Python脚本自定义,可以工作在所有主流的Windows 10/8/7、Linux、OS X等操作系统上。高质量的3D架构带来了快速高效的创作流程,每次版本发布都会在全球有超过20万的下载量,是轻量级3D游戏引擎。

1.3.2 Blender游戏引擎发展历史

1988年,彤·罗森达尔(Ton Roosendaal)与人合作创建了位于荷兰的动画工作室NeoGeo。NeoGeo很快成为了荷兰最大的3D动画工作室,跻身欧洲顶尖动画制作者行列。NeoGeo为一些大公司客户,如跨国电子公司飞利浦创作的作品曾经荣获1993年和1995年的欧洲企业宣传片奖(European Corporate Video Awards)。Ton在NeoGeo内部主要负责艺术指导和软件开发工作。经过仔细考察,Ton认为当时公司内部使用的3D套件过于陈旧复杂,维护和升级困难,于是在1995年重写了3D套件,这正是众所周知的3D软件创作套件Blender。在NeoGeo不断优化和改进Blender的过程中,Ton想到Blender游戏引擎也可以成为NeoGeo之外艺术家们的创作工具。

在1998年,Ton决定成立一家NeoGeo的衍生公司,名为Not a Number Technologies,简称NaN,目的是进一步运营和发展Blender。NaN公司的核心目标是创建并发行一款紧凑且跨平台的免费3D创作套件。这一想法在大多数商业建模软件都要卖上千美元的当时是革命性的。NaN公司希望将专业3D建模和动画工具带给普通人,其商业模型包括了提供Blender游戏引擎周边的商业产品和服务。1999年NaN公司为了推广而第一次参加了Siggraph(计算机图形行业的年度大会)。Blender第一次Siggraph之旅获得了巨大成功,受到媒体和出席者极大的关注,引起了轰动,它的巨大开发潜力被证明了。NaN公司在2000年年初从风险投资者手中获得了450万欧元的投资,这笔巨资让公司得以快速扩张,不久就有50名员工在世界各地为Blender的改进和推广工作。在2000年夏天Blender v2.0发布,这一版本在3D套件中加入了集成的游戏引擎。到2000年年底,NaN公司网站的注册用户超过25万。不幸的是NaN公司的雄心与机遇并不符合当时公司的能力和市场环境。过快的膨胀导致在2001年8月通过新的投资人整合改组,被重新组建为一个较小的公司。半年后NaN公司发售第一款商业软件Blender Publisher。该产品针对的是当时新兴的网络交互式3D媒体市场,由于不佳的销售业绩和当时困难的经济环境,新的投资人决定关闭NaN公司的所有业务,包括停止Blender游戏引擎的开发。尽管当时的Blender游戏引擎有内部结构复杂、功能实现不全、界面不规范等明显的缺点,用户社区的热情支持和已经购买了Blender Publisher的消费者们让Ton没有就此离开Blender引退。因为再重新组建一个公司已不可行,Ton于2002年3月创办了非营利组织Blender基金会。

Blender基金会的主要目标,是找到一条能让Blender作为基于社区的开源项目被继续开发和推广的途径。2002年7月,Ton成功地让NaN公司的投资者同意Blender基金会尝试让Blender开源发布的独特计划。这一计划需要募集10万欧元,让基金会从NaN公司投资者手中买下Blender游戏引擎的源代码和知识产权,然后把Blender游戏引擎交到开源社区手中。包括几名前NaN公司员工在内的一些志愿者,满腔热情地开始了一场为Blender展开的募捐活动,令人惊喜的是在短短7周之内就完成了10万欧元募捐活动。在2002年10月13日,Blender游戏引擎在GNU通用公共许可证的授权下向世人发布,用户可以随意下载并可在多台计算机上运行,只需要同意并遵守自由软件基金会制定的开源协议即可。用户还可以下载Blender游戏引擎的源代码,但是需要随版本提供一份许可证的复制,以保证程序接受者可以了解此协议下的权利。Blender游戏引擎的开发持续至今日,在创始人Ton的领导下,遍布世界的勤奋志愿团队不断地推动着这一工作。

1.3.3 Blender游戏引擎功能特性

Blender游戏引擎功能特性主要包括网格、曲线、NUBRS曲面、元对象、文本对象、骨骼、空对象、晶格、相机、灯光、力场、雕刻与纹理绘制、毛发系统、编辑工作流以及后期等。

(1)网格:由“面、边、顶点”组成的对象,能够被网格命令编辑修改的物体。虽然Blender支持的是网格(Mesh)而非多边形(Polygon),但其编辑功能强大,常见的修改命令基本都有,自从Blender 2.63版以后,同样能支持N边面(N-sided),不比支持Polygon的软件弱。而且Blender的网格具有很好的容错性,能支持非流形网格(non-manifold Mesh)。

(2)曲线:曲线是数学上定义的物体,能够使用权重控制手柄或控制锚点操纵,也就是一般矢量软件中常见的钢笔曲线。但由于该特性负责的人少,编程人员缺乏,所以该特性基本处于半成品的状态。只有最初级的修改命令,像一些常见命令,例如:曲线锚点的断开等,默认还不支持。

(3)NUBRS曲面:是可以使用控制手柄或控制点操纵表面的四边,这些都是有机的和圆滑的但有非常简单的外形。这块和曲线一样,由于缺乏开发人员,因此仅具有最初级的修改命令,像曲面的相互切割,倒角、双线放样,插入等参线等常见的Nurbs命令并不存在。

(4)元对象:新版本翻译为融球,部分软件也称其为变形球(Metaballs)。由定义物体三维体积存在的对象组成的,当有两个或两个以上的融球时可以创建带有液体质量的Blobby形式。但只支持添加默认物体,不支持使用自定义的网格进行外形生成。

(5)文本对象:创建一个二维的字符串,用来生成三维字体。但由于Blender的先天缺陷,在Windows平台下,不支持直接输入中文,必须先在记事本输入,然后粘贴到编辑框。而且在进行字体切换选择时,也看不到字体文件内置的中文名称,只能看见原始的文件名。因此,在Blender中想要制作中文3D字,是比较麻烦的。

(6)骨骼:骨骼用于绑定3D模型中的顶点,以便它们能摆出pose和做出动作。自带的样条骨骼是一种特殊骨骼,可以在不依赖样条线IK的情况下,制作出柔软的曲形过渡。而封套这种绑定方式也被定义成一种骨骼样式。

(7)空对象:也就是一般软件中常见的辅助对象,是简单的视觉标记,带有变换属性但不可被渲染。它们常常被用来驱动控制其他物体的位置和约束。它也可以读入一个图像作为建模参考图。

(8)晶格:使用额外的栅格物体包围选定的网格,通过调整这个栅格物体的控制点,让包住的网格顶点产生柔和的变形。但晶格创建时,并不会匹配选择物体的边界框,需要用户手工进行匹配。

(9)相机:即摄影机,是用来确定渲染区域的对象,提供了对角、九宫、黄金分割等多种构图参考线。你可以设定一个焦点物体,用于在模拟景深时提供参考。

(10)灯光:它们常常用来作为场景的光源,Blender游戏引擎下自带的光源类型为:点光源(泛光灯)、阳光(平行光)、聚光灯、半球光、面光源(区域光)。其他引擎还能使用自发光制作网格光源。

(11)力场:用来进行物理模拟,它们用于施加外力影响,可以影响到刚体、柔体以及粒子等,使其产生运动,常作用于空对象(辅助对象)上。

(12)雕刻与纹理绘制:这两个模式下的笔刷都是基于“屏幕投影”进行操作的,而非笔刷所在网格的“面法线方向”。由于Blender游戏引擎并不存在法线笔刷(笔刷选择也是屏幕投影),所以在操作方式和手感上,会和一般基于法线笔刷的雕刻类软件,或纹理绘制类的软件有所区别。

(13)毛发系统:Blender游戏引擎的毛发系统是基于粒子的,所以必须先创建粒子系统才能生成毛发。虽然粒子本身支持碰撞,但毛发系统并不支持碰撞。因此当毛发需要产生碰撞动画时,可以借助力场物体进行模拟,从而制作假碰撞的效果。

(14)编辑工作流:Blender游戏引擎不支持可返回修改的节点式操作,任何物体创建完成或者编辑命令执行完毕后,修改选项就会消失,不可以返回修改参数。如果想要修改历史记录中某一步的操作参数,只能先撤销到这步,在修改完毕后,手工再重新执行一遍后续的所有修改。

(15)后期:视频编辑(Video Editing)是一个针对图像序列以及视频文件处理的简单的非线剪辑模块,可以设置转场,添加标题文字、音频以及简单的调色等操作。和市面上一些常见的非线软件的区别在于,它自带的特效部分非常简单,很多时候是依赖Blender游戏引擎自身的功能,需要先将特效渲染出来,或者经过合成节点的处理后(例如:太阳光斑、抠像),并且输出成图像序列,才能继续进行合成制作,以达到理想的设计效果。

1.3.4 Blender游戏引擎渲染器

目前Blender能支持的渲染器有如下几个:

(1)Blender内部默认内置的渲染引擎,简称BI(Blender Internal)。使用CPU进行渲染计算,能渲染毛发,支持自由式(Freestyle)卡通描边等,达到一些Cycles无法渲染的效果,材质支持完善,支持贴图烘焙。

(2)Cycles默认自带的渲染引擎,简称CY。2011年发布2.60版时新加入的渲染引擎,能使用CPU或GPU进行渲染计算,并且支持OSL(CPU模式)。使用显卡渲染和较弱的CPU相比,能大大减少渲染时间。

使用的光线算法为路径追踪(Path tracing),该算法的优点是设置参数简单,结果准确。但缺点是噪点多,且容易产生萤火虫(白色光点)。成倍提高参数或消减射线数量能消除,但渲染时间会大大增加或导致渲染结果失真。

(3)LuxRender是一款基于物理渲染引擎、真实的开源渲染器。根据渲染方程来模拟光的传输,生成物理真实的图像。它是一个基于PBRT项目,但不同之处在于它关注的是产品渲染和艺术效果,而非学术和科学目的。它同时支持无偏差(MLT/[双向]路径追踪)和偏差技术(直接照明,光子映射),物理正确光源,高级程序纹理、光谱灯光运算、动态模糊、灯光组混合。自0.8版本开始还提供OpenCL加速渲染功能。

(4)YafaRay是一个免费开源的光线追踪引擎,追求高品质、照片级真实感的渲染。曾是Cycles出现前Blender自带的渲染引擎,使用的光线算法为光子映射(Photon Mapping)、最终聚集(Final Gather)。和其他的相比,YafaRay的特点在于玻璃材质设置简单,有默认的模板可以选择,并且能够直接支持使用IES光域网文件,适合做一些室内场景,非常简单方便。但不支持渲染Blender融球物体。

(5)Mitsuba是一个学术项目,主要用途是作为测试平台,用于计算机图形学的算法开发。相较于其他的开源渲染器,Mitsuba带有很多实验性的渲染算法。支持的光线追踪算法更多,这意味着操作者可以创建场景和渲染不同的方法,看看哪种适合最好。渲染器的图形UI支持交互方式,能实时反馈让用户查看渲染过程。Mitsuba的代码使用了可移植的C++,实现了无偏差和偏差技术,并且有针对性地对CPU架构重优化。可以运行在Linux、MacOS X和Windows平台,以及使用SSE2优化的x86和x86_64平台。

(6)POV-Ray全名Persistence of Vision Raytracer,发展始于20世纪80年代,是一个历史悠久的自由开源渲染引擎。它使用基础文本(POV脚本语言)描述场景生成图像,POV脚本具备图灵完备性,可以编写宏以及循环程序。支持次表面散射(SSS)和透明度、大气影响(如大雾和烟云)、光子映射、暂停和渲染后重启或关机、实时渲染模式等。

(7)Aqsis是一个符合RenderMan规范的跨平台3D渲染引擎,注重稳定性和生产使用。功能包括:构造实体几何(Constructive solid geometry,CSG)、景深(三维深度场)、可扩展着色引擎(DSOs)、实例化、细节层次(Level-of-detail,LOD)、运动模糊、NURBS曲面、程序插件、可编程着色、细分曲面、子像素置换等。

以下这些通过Blender创作出的电影作品,都是根据CC协议(Creative Commons)发表的。因此DVD内带有所有电影创作相关文件、模型、纹理和其他材料,还有原始剧本、支配表、画面分镜剧本,以及技术细节文档和视频,教你如何使用这些素材,所有人可以下载该作品或其源文件,用于修改后重新发布。

《大象之梦》:该项目于2005年9月,在荷兰阿姆斯特丹启动,7名身处世界各地的艺术家经过8个月的努力,于2006年3月24日完成。影片曾被命名为 Machina ,然后又改为 Elephants Dream ,根据一个丹麦儿童故事改编。该电影的主要目的是应用试验,并且发展和展示开源软件的能力,证明用这样的工具,在高质量电影筹划和制造方面可以做出什么样的作品。

《大雄兔》:这是Blender基金会第二部开放版权、创作共用的动画电影,2008年5月15日发布,片长10分钟,全部使用开放源代码软件制作(如Blender、Linux),渲染的计算机集群使用太阳微系统公司的Sun Grid,亦是开放源代码的软件(如:OpenSolaris、Sun Grid Engine等),制作技术和素材彻底公开。不同于上一个项目,本片全程无语音。该片完成之后,其素材适用在Blender官方的游戏项目Yo Frankie!之中,反派Frankie这次成为主角。

《寻龙记》(《辛特尔》):该电影制作开始于2009年5月,于2010年9月27日正式在荷兰电影节发布。在网上发布时间为同年9月30日,开放版权,任何人都可以自由下载。因本电影制作而对Blender软件进行改良的技术包括:粒子系统、雕塑、浓淡处理等。渲染该片所使用的计算机集群只是常见的x86-64服务器,运行Linux操作系统。

《钢之泪》(《钢铁之泪》):该电影于2012年9月26日正式发布。片长12分钟,与前几部的完全动画风格不同,这一次走的是真人表演和特效结合的路线,旨在演示开源3D图形软件所包含的VFX(Visual Special Effects)虚拟视觉特效能力,基本的科幻视觉特效都由阿姆斯特丹的Blender Institute学会完成。该电影通过社区募集资金的方式运营,由来自西雅图的才俊Ian Hubert编写并导演,制作人为Ton Roosendaal。影片制作全程使用开源软件完成,包括Libmv、GIMP、MyPaint、Krita、Inkscape等。

《宇宙洗衣房》:在一个孤立的荒岛上,一头名叫弗兰克的山羊厌倦了自己的生命形态,它认为一张羊皮容不下自己伟大的灵魂,打算结束自己悲剧一般的人生。但是就在它决定这么做的最后一刻,一名古怪的推销员维克多突然出现,弗兰克听信维克多带上一台莫名机器后,生命竟发生了意想不到的奇迹。本片是Blender基金会发布的第五部开源电影,采用众筹的方式立项,最初的期望是可以由来自全球的12个动画工作室合作,完成一部完整的动画长篇,可惜众筹未达到最低目标失败,项目最终修改为制作一部15分钟的短片。 mjBFUyHmdOY9zMUrIi6Qkb6qxHvfmLVcp0oR9ZxY9XUSFWO7cHHaNWmH6oY9K1FF

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开