请选择 进入手机版 | 继续访问电脑版

查看: 757|回复: 2

[技术] 摄影制图法工作流程指南(1)

[复制链接]

1144

主题

1840

帖子

2万

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
24070
QQ
发表于 2018-8-24 04:25:10 | 显示全部楼层 |阅读模式
在《ADAM》、《死者之书》中都运用到摄影制图法,通过使用摄影制图法可以捕捉现实世界中的对象和材质,利用有限时间和成本创作出极高质量的资产。

为了让更多开发者和游戏工作室能掌握和运用到摄影制图法,Unity编写了《摄影制图法工作流程》作为工作指南。

摄影制图法工作流程分为三大阶段:
  • 准备阶段:摄影制图法概述、需要使用到的硬件和软件设备,采集阶段前需要考虑的问题。
  • 采集阶段:资产的选择与拍摄、如何采集表面、细节与纹理、各种对象、采集反射反照率。
  • 处理过程:图像处理、重构创建模型、烘培网格、烘培纹理、创建游戏资产。

本文我们将介绍第一阶段:准备阶段。

摄影制图法概述

1、什么是摄影制图法
摄影制图法是使用真实世界原始对象的多张照片创作数字资产的过程。摄影制图法有很多种不同的用途,其工作流程也会因使用场景的不同而变化。

本指南中将列出需要使用的一些硬件设备和软件,这些工具可以平衡效率、成本和质量之间的比重。

2、摄影制图法工作流程概述
本摄影制图法工作流程将分为二个主要部分:
  • 采集:拍摄多张包含指定对象所有部分的照片。
  • 处理:从这些照片生成网格和纹理数据的过程。

采集
摄影制图法的第一步是从不同角度拍摄指定对象的多张照片。此外还需要收集额外数据用于参考、确定缩放单位以及拥有正确曝光度的照片。

处理
首先需要校准照片调节白平衡,然后将照片发送给可以进行重构出3D模型的应用程序。重构程序会对比照片中的形状,从而生成高分辨率3D网格。照片中包含的颜色之后会用于对网格的顶点进行着色,或是将其应用于网格表面的纹理上。

image011.jpg


重构软件或许会生成面片数很高的网格。这类网格并不适用于实时引擎,因此我们也需要生成较低分辨率的网格。我们可以通过烘焙工具为低分辨率的网格生成法线贴图,以此保留高分辨率网格的细节。烘焙工具会把高分辨率网格中的高频信息传递给低分辨率网格的法线贴图纹理。

然后创建用于烘焙过程中的低分辨率网格:我们将会从重构软件中导出一个中等到低分辨率的网格,然后在3D工具软件中进行修改,最后将其提供给烘焙工具作为烘焙的目标网格进行重拓扑和UV布局。

接着我们会使用烘焙工具生成所需的纹理。

然后,我们需要移除纹理上的光照。这是因为纹理是由真实世界图片生成的,这会不可避免地带有光照信息和阴影。为了能够拥有可以在任意光照条件下都可以使用的材质,我们需要移除已经被烘焙到纹理上的光照信息,光照移除步骤也被称为de-lighting去除光照。有时候,这一步也会使纹理可以被平铺。

最后,用于烘焙的低分辨率网格在3D软件中会转换为能在游戏中使用的网格,这个网格带有正确的方向、轴心和UV集。

image021.jpg


制作时间
摄影制图法是创作高分辨率网格和纹理非常高效的方法,但它不会给准备游戏网格的其它步骤带来帮助,例如:重新拓扑和UV布局。

与传统3D资产创作流程相比,摄影制图法是否节省时间取决于制作对象的复杂度。在制作中使用摄影制图法并不是个简单的任务,因为摄影制图法会根据对象复杂度和重拓扑时间而变化。这个方法通常会比传统方法更好,但是很难量化它所节省下的时间。

下面是使用摄影制图法粗略估计的能够节省的时间。

image022.jpg


软件与设备

1、设备
下面推荐设备列表,可以采集优质数据用来实现高质量摄影制图。

image031.jpg


下面是上图中对应编号的设备。

1、相机:佳能6D
任何相机都可用于摄影制图,即使是手机摄像头也可以。为了取得最佳质量,最好使用可以拍摄高分辨率清晰图像的相机,高分辨率意味着在构建过程中所需的照片量较少。我们建议使用全画幅相机。

2、镜头:Sigma 24-70 mm f/2.8 EX-DG HSM
在自然环境中,某些对象可能因为距离太远或太近而无法拍摄。使用可变焦镜头会比固定焦距的镜头更容易采集对象。

3、佳能MR-14EXII环形闪光灯
环形闪光灯比眼镜蛇闪光灯更好,因为它能去除大部分光线阴影。

4、250 Go内存卡(Class 10)
256 Go的容量足够满足一整天的拍摄量。Class 10用来最小化延迟时间。

5、笔记本:Macbook Pro

6、Color checker passport photo (X-rite).
每次拍摄时应使用颜色检查器来调节照片的白平衡。

7、 HOYA Polarizer filter PRO 1 DIGITAL 67 mm.
在尝试采集漫反射反照率时,镜头偏振器用来消除反射光。

8、线性偏振器滤光片
线性偏振器滤光片是个放在闪光灯上的小型涂层,用来使光偏振。它允许你去除反射光照信息来更好地采集颜色信息。

9、相机备用电池
10、背包
11、Lenspen(镜头清洁工具)
12、LASTOLITE  背景支持套件,大小为H 3.52 x L 3m
13、PHOCUSLINE 黑色背景布,大小为3 m x 3 m
14、Lastolite Cubelite.
15、GODOX reflector 180 x 120 cm.
16、用来标记的帐篷钉和粉笔
17、GOPro
18、DJI drone Phantom 4 RTF

2、软件
image044.jpg


DCRaw:用来将RAW转换为TIFF
Windows: http://www.centrostudiprogressofotografico.it/en/dcraw/
Mac OS: http://www.cybercom.net/~dcoffin/dcraw/

Adobe Photoshop CC:处理白平衡和人工修正
http://www.photoshop.com/products/photoshop

Reality Capture:摄影制图处理软件
https://www.capturingreality.com/
注意:建议使用高性能显卡,Reality Capture需要使用Nvidia显卡来更好地兼容其GPU处理过程。

3dsMax(或任意相关3D软件):用于处理重拓扑、UV、LOD
https://www.autodesk.fr/products/3ds-max/overview
PLY导入/导出插件:http://www.guruware.at/main/plyImp/index.html

Instant Mesh:重拓扑
https://github.com/wjakob/instant-meshes

Knald:烘焙纹理
https://www.knaldtech.com/
注意:建议使用高性能显卡。建议使用8GB的显存来处理非常复杂的网格。

Xnormal:用于烘焙纹理
http://www.xnormal.net/downloads.aspx

Substance designer:用于烘焙纹理
https://www.allegorithmic.com/products/substance-designer

Unity Light Removal Tool:从烘焙得到的纹理中移除光照信息
https://github.com/Unity-Technologies/DeLightingTool

Artomatix:自动拼贴材质
https://artomatix.com/

Substance painter:用于手动拼贴材质
https://www.allegorithmic.com/products/substance-painter

VLC media player:按帧查看视频
http://www.videolan.org/index.fr.html

建议电脑配置不低于:32GB内存,显存为4GB的Nvidia显卡,硬盘空间为2TB。Unity团队使用的CPU是intel i7-5960x,64GB内存,显卡是980 GTX,2TB硬盘空间。

采集过程
1、采集的三个问题
采集什么?
首先要明确在游戏中使用的环境类型是什么,然后整理出一份资产列表,列出需要为游戏关卡制作的所有资产。一定要检查哪些资产可以使用摄影制图法,哪些资产必须使用这种方法。

理解重构软件的工作方式会帮助理解什么样的平面最适合摄影制图过程。为了从大量图片重构几何体,需要使用重构软件基于相机信息从图片中恢复3D世界中大量像素的位置,如果存在具有足够相似度的空间像素组,则会形成一个点。通过这个过程得到的结果称为“点云”。

有些表面类型不适合使用摄影制图法。
  • 移动的对象,例如:风中摇摆的树叶。
  • 发光或是具有强烈反光的对象。例如:金属表面、潮湿的表面。
  • 液体或是透明物体,例如:玻璃表面

重构软件无法对这些对象的照片匹配像素颜色。使用这些对象会很难或是无法得到足够好的结果。下图展示了一些不适合摄影制图的对象示例。

image098.jpg


此外,如果该对象拥有较大的单一颜色区域,重构软件将无法拥有足够的信息来区分相似像素组,因为它们都拥有相同的颜色。

对于单一颜色的对象,可以通过在对象上涂画或是投射固定的光照图案来辅助重构软件。不过这样操作只能提取几何体信息,相关纹理需要另外单独制作。

下面的示例中,左边是难以正确重构的拥有单一颜色的资产。得到的结果是多个分离的点云,效果并不理想。在右边的是带有绘制图案的相同单色对象,结果很不错,只创建了一个点云。

image105.jpg


摄影制图法能很好地处理表面粗糙的静态固体资产。下图展示了适合摄影制图法的一些对象示例。

image104.jpg


当使用摄影制图法创作资产时,考虑制作成本十分重要。即使对象符合摄影制图流程的要求,也并不意味着摄影制图法是最好的处理方法。

使用传统3D建模方法制作结构简单或是人工制作的对象会比摄影制图法更高效,因为这类对象带有单一颜色和简单的外形。下图中杯子就更适合在3D软件中直接进行制作。

image112.jpg


要注意的是复杂对象,尤其是树根这类带有细小结构的对象。处理一个复杂资产的时间成本可能会很高。下图是个需要很长时间进行处理的资产示例。

image121.jpg


何处采集
我们需要认真计划拍摄之旅,减少旅行距离从而避免浪费时间。好的区域拥有大量资产可供采集。

请注意遵守当地法律法规,许多区域有可能是禁区,例如:军事区域或者一些大城市会禁止使用无人机。当对象位于公共场合时,很难避免人们在相机前移动。所以必须寻找拥有足够空间的安静区域来采集对象的照片。

image127.jpg


何时采集
在户外环境摄影时,天气是必须考虑的最重要因素。天气对摄影制图过程有很大影响。

雨雪天气是最糟糕的情况。此时的平面会一直变化,雨水在上面滑过、积雪会落下,反射效果会很强烈,镜头还会受到雨水和雪花的影响。

风也是个很棘手的因素。风会造成树木、草丛、灰尘、沙粒移动到图像中,造成重构效果不佳。对于小型对象,例如:小木块、树枝、松果,你可以将它们收集起来,带回室内并在安全的地方进行拍摄。

然而一些容易在风中移动的对象只能在现场采集,例如:树木、灌木和草丛。对于这些对象,你需要确保在没有风的时候拍摄它们,这样对象才会完全静止。

太阳会产生高光和强烈的方向阴影。这种情况必须要避免,因为这样会很难拥有好的曝光效果,造成高曝光距离的产生。在一个高对比度的照片中,噪点往往会出现在强烈的阴影中。此外,高光或方向阴影很难从已生成的纹理中被移除,而我们需要这一步来重新给采集对象生成光照。

下面的位置示例带有强烈的方向光,光源来自穿过树叶的太阳。这个位置生成的纹理会展示出难以消除的大量光照和强烈遮蔽。

image134.jpg


在不下雨的阴天进行拍摄可以得到稳定的照明和非常柔和的阴影,这会让之后从图像移除光照信息的过程更为简单。然而这种天气的亮度会很低,需要提高ISO来拍摄。

image139.jpg


拍摄的理想状态是在晴朗的天气,但要使用挡光器来将对象和方向光进行隔离。这样会产生类似阴天拍摄的柔和照片,同时拥有适合采集的更好的亮度。

最后,稳定的光照对重构软件提供一致的图片十分重要。太阳下快速移动的云也会带来麻烦。

image140.jpg


第二重要的因素是季节。不同季节的光照会影响有机和有生命对象的外观,例如:秋天的树叶、树木或花朵,此外曝光值范围也会随季节变化,可用于在冬天进行对象采集的EV范围比别的季节都要小。可用的日光也会随季节变化。

2、采集视频还是照片
摄影制图过程依赖拍摄的源图像。所有采集过程可以通过GoPro或任意4K视频设备完成,从中提取出静态帧。因为这类视频录制设备较小,它们能让你快速得到对象的所有部分,并且可以和对象保持很近的距离。

image151.jpg


但是GoPro和其它类似设备通常会对高亮度条件非常敏感,这使视频中明亮区域的周围出现泛光现象。这些设备也往往不能手动控制ISO和光圈大小。由于手抖或快速移动,采集到的视频可能包含较多动态模糊现象。所以建议使用全画幅静态相机来获得最佳效果。

image152.jpg


视频录制设备能高效采集几何体,可以很好地用于粗略布局和快速测试。所以建议使用GoPro作为备用工具而不是主要设备。

3、相机设置
重构过程中的最佳效果是从不限定颜色范围的清晰图像获得的。照片的锐度在这里是个非常重要的因素。

image161.jpg


1、糟糕曝光的示例。黑暗或重叠的区域会造成糟糕的重构结果。
2、糟糕图像的示例,该图像散焦过多,光圈为f/2.8。由于景深现象,松果的边缘完全是模糊的,所以这也是个失败的重构结果。
3、正确的对焦和曝光示例。

建议的默认设置旨在拥有最清晰的图像:推荐使用f8的光圈,开启自动对焦,下图是多个光圈的对比。

image160.jpg

  
如果你在户外环境进行拍摄,光照条件也会根据太阳或云层移动而变化。因此为了节省时间,不建议使用三脚架。也请不要花费一天时间来采集一块石头。快门速度必须是1/160及以下,从而在维持清晰图像的同时拥有快速手动拍摄的速度。ISO应该调至100或更低,从而避免噪点,尤其是在对重构软件不利的较暗区域拍摄时。

image168.jpg


在光线不足的情况下,首先应该提高ISO,然后增加光圈。可能还需要稍微调整光圈来抵消高ISO所产生的的噪点。也可以使用三脚架提高快门速度,但使用三脚架可能会增加拍摄时长。

导出格式设置为RAW。RAW格式有更高的精确度用于重构过程,也能在图像中得到更好的白平衡。

在开始采集资产之前,必须使用相机的直方图来控制曝光等级,从而避免在对象上带有受限的像素并得到良好的曝光范围。

下方的示例图中,左图图像的曝光范围过小,无法进行重构,而且有很多像素会被限定。右图展示了用来重构的良好曝光范围。该对象在直方图的中间展示。

image173.jpg


在照明范围中设置曝光范围十分重要,因为推荐的重构软件(Reality Capture)不会使用相机采集的完整14位文件,而且照片都会被转换为8位文件。

小结
我们今天介绍了摄影制图法工作流程的准备阶段,下一篇我们将介绍采集阶段。尽请期待! 更多Unity技术内容尽在Unity官方中文论坛(UnityChina.cn)!

1

主题

77

帖子

1150

贡献

中级UU族—2级

Rank: 5Rank: 5

积分
1150
发表于 2018-8-25 02:02:00 | 显示全部楼层
占楼收藏
http://github.com/MasterWangdaoyong

0

主题

2

帖子

55

贡献

初级UU族—2级

Rank: 2

积分
55
发表于 2018-9-3 03:43:30 | 显示全部楼层
哇,好厉害!学到新知识了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表