次世代建模技术在虚拟现实中的应用
2022-03-09廖观福
廖观福
(浙江广厦建设职业技术大学信息学院,浙江 东阳 322100)
1 次世代建模技术与虚拟现实的关系
1.1 次世代建模技术
“次世代”这个词语来自于日语,意思是“下一代”,也可以是“即将到来的时代”,而“次世代技术”也可称为“下一代技术”[1]。次世代技术凭借最先进的渲染和引擎技术,以震撼的视听感受、精美逼真的画面给体验者带去“真实”的沉浸式感受。[2]
对次世代技术而言,模型的制作占据了重要地位。跟传统的模型制作相比,次世代模型制作发生了重大的变化。就模型的制作工具来说,低模创建主要依靠3DsMax 或者Maya等三维建模软件,高模通过ZBrush 等雕刻软件进行雕刻,丰富细节;至于软件自带的功能,雕刻软件ZBrush 自带的笔刷工具在保证模型面数不高的同时又可以对模型进行优化,为模型的制作节省时间。
1.2 虚拟现实
虚拟现实(Virtual Reality,简称VR),即虚拟与现实的结合。利用虚拟可控的仿真系统,生成一个相对应的模拟环境,使感受者沉浸在生成的环境中体验到和现实世界难辨真假的真实性。同时它还融入了人类所拥有的视觉、听觉以及触觉等感知行为,使感受者有种身临其境的感觉[3]。
1.3 次世代建模技术与虚拟现实之间的关系
虚拟现实作为一种计算机领域全新的实用型技术,应用领域已十分广泛。随着科学技术的飞速发展,各行各业对虚拟现实技术的需求也不断提高,其产品在交互体验等方面已慢慢趋于成熟,但由于建模技术滞后等原因,视觉效果与真实世界相比略差,不足以使人产生“沉浸”效果。以次世代技术建立的模型应用到虚拟现实中符合行业发展要求,是未来主流方向[1]。
2 次世代建模技术在虚拟现实中的应用
次世代建模基本流程可以归纳为低模- 高模- 拓扑低模-UV 展开、烘焙法线- 贴图制作- 材质制作,之后导入虚拟现实引擎进行程序开发。
2.1 高低模制作
次世代建模可以分为低级模型制作、中级模型制作和高级模型制作三个阶段[4]。高模分段数高,面数众多,细节丰富,后续导入虚拟现实引擎中会导致引擎运行缓慢。与高模相比,低模面数少,细节也不够丰富,但低模在法线贴图或AO贴图等贴图作用下也能显示得精细。
目前次世代建模可以分成两类:一类模型是以人等生物体为主,这些生物体模型通常具有明显的骨骼结构。低模将在3DsMax 或Maya 等软件中采用标准基本体中的长方体来创建,将之转换为可编辑多边形,通过连接线的方式进行卡线操作,做成想要的身体结构。在身体模型制作时,要求建模师具有一定的美术基础,了解生物体的身体结构,注意模型的布线分布;另一类是以武器、盾牌等机械类为主的硬表面模型,这类模型一般呈左右对称状,建模采用跟第一类模型类似的方法。由于这类模型左右对称的特点,先创建一边模型,另外一边通过对称修改器来完成。
高模制作,第一种办法是直接在3DsMax 或Maya 等软件中通过卡线、插入、挤出等操作对模型增加细节,最后给模型添加一个涡轮平滑修改器,增加模型的细分级别;第二种办法是将做好的低模导出为OBJ 文件格式,然后导入到ZBrush 雕刻软件中进行雕刻,利用软件自带的雕刻笔刷对低模进行调整,增加模型的细节。
如图1 所示为在3DsMax 软件中建的简易罐子模型,左边是高模,右边是对应的低模。
图1 罐子高低模
2.2 模型拓扑
由表1 可知,高模分段数高,面数众多,细节丰富,后续导入虚拟现实引擎中会导致引擎运行缓慢。为了解决这个问题,从而有了拓扑低模的概念。此时高模的作用是通过生成法线贴图的方式,将高模的细节信息投射到低模上,达到更好的显示效果。
表1 高低模区别
模型的拓扑是次世代模型制作的重要流程之一。高模制作完成后就需要对模型做进一步的调整,主要工作是对模型的面数进行最优的资源配置,因为每一个虚拟现实项目都有着模型面数的限制,并且在面数要求的前提下用尽可能少的面数实现模型的结构表现。拓扑低模的一种方式是用3DsMax 等三维软件中的石墨工具,另一种方法是在雕刻软件Zbrush 中进行低模拓扑。在低模拓扑的过程中,要不断对模型的结构进行调整,尽量避免模型之间的穿插与三角面的出现。
2.3 UV 展开与烘焙法线
UV 是贴图在模型上的坐标位置(跟直角坐标系中的XYZ 类似),调整UV,实际就是调整贴图在模型上的位置。如果想要把贴图准确的贴到模型上,一定需要使用三维软件的UVW 贴图坐标模式。而使用这种模式的前提,就是该模型已经把UV 展开了,需要注意的是UV 展开是对低模进行操作。
每款三维软件基本上都会自带UV 展开的功能,对于一些较为简单的几何体模型,可以使用软件自带的UV 展开修改器。Unfold3D 是一款专门用于UV 展开的软件,操作界面如图2 所示,界面主要分成左右两个视图,左视图是导入的三维模型,右视图是展开的UV,模型跟UV 之间在点线面层级上都是一一对应的,可以利用这个特点检查UV 展开是否合理。软件通过快捷键配合鼠标进行操作,容易掌握。在UV展开时应避免拉伸和UV 之间的重叠挤压,UV 切口部分尽量选择在视角不易观察的地方。为了后续法线贴图更好修改,展开的UV 中线段部分尽量都打直成一条直线。
图2 UV 展开界面
UV 展好后再导回到建模软件中进行法线贴图的烘焙。导回时,要求导回的低模和软件中的高模重叠。烘焙法线贴图之前,必须对UV 重新排布,间距确保适中。UV 排布好后,渲染一张UV 模板,以备后续贴图制作使用。退出UV 编辑界面,选中导回的低模,按0 快捷键,打开渲染到纹理界面,设置法线贴图参数,贴图大小一般选择1024*1024,对要求较高的可以选择2048*2048,法线贴图如图3 所示。
图3 法线贴图
2.4 贴图制作
次世代贴图的制作一般在PhotoShop 上完成。首先对法线贴图进行调整,要求法线贴图中直线颜色统一。利用渲染好的UV 模板以及下载或者制作的外观图片,制作一张外观贴图以及一张ID 贴图,如图4 所示。ID 贴图是为了方便后续在Substance Painter 进行材质绘制时颜色选取,不同的颜色代表不同的材质。
图4 外观及ID 贴图
2.5 制作材质
贴图制作完成,重新在建模软件中将低模导出为OBJ文件格式,进入到Substance Painter 制作材质。Substance Painter 是Adobe 公司旗下一款专门纹理制作软件,广泛用于电影和游戏制作,以及产品设计等领域。软件使用能够调整以适应任何对象的智能材质,展示真实的表面细节或磨损情况。探索可适应任何形状的蒙版预设,并使用高效、动态的工具进行绘图,表2 为该软件特点。
表2 Substance Painter 特点
新建项目,将导出的低模以及法线贴图、外观贴图、ID贴图导入软件中,软件会自动对导进的模型添加材质。软件添加材质有两种方法,一种方法是利用笔刷直接绘制,另一种方法是使用图层蒙版进行图层的叠加,最后效果如图5 所示。Substance Painter 有一个非常有用的预设,用于后续把纹理导出到虚拟现实引擎。这个预设的设置将导出四张贴图,分别是:反照透明度贴图(AlbedoTransparency)、金属粗糙度组合贴图(MetallicSmoothness)、法线贴图(Normal)以及环境光遮蔽贴图(AO)。
图5 最后效果图
2.6 导入引擎
Unity 引擎是实时3D 互动内容创作和运营平台,内容包括游戏开发、美术、建筑、汽车设计、影视等[5]。
将模型和贴图导入Unity 资源库中,之后模型拖入视图面板。选中拖入的模型,在检视面板中,贴图放入相应列表,效果如图6 所示。
图6 引擎效果图
3 结论
本文选取真实项目案例,内容包括次世代技术基本流程低模- 高模- 拓扑低模-UV 展开、烘焙法线- 贴图制作-材质制作- 导入虚拟现实引擎进行程序开发,讲述次世代建模技术在虚拟现实中的应用。以次世代技术建立的模型应用到虚拟现实中符合行业发展要求,是未来主流发展方向。