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

《摄影制图法工作流程》系列内容:
摄影制图法工作流程指南(1)-准备阶段:概述、所需硬件和软件设备、考虑的问题。
摄影制图法工作流程指南(2)-采集阶段:采集非小型对象、采集表面。

本文将继续分享采集阶段的后续内容:采集小型对象、采集漫反射反照率(颜色纹理)、采集树叶。

如何采集小型对象
通常我们通过在不同区域大量复制小型对象来丰富场景。我们可以旋转、缩放和镜像处理这些小型对象,从而创造多样化的效果。对于这类小型对象,需要从各个方向进行拍摄,从而重构出完整的资产。

1、设置支架
为了能够从所有角度采集小型对象,必须使其能以所有角度进行旋转。小型对象可以通过支架来放在相机前,理想情况下要尽量减少支架与对象之间的接触。

第一步是找到一个好的支架。所需支架的确切属性取决于采集对象的形状和结构。由于在一次拍摄旅行中难以携带大量设备,所以我们会将小型对象收集起来带回工作室,在装有重构软件的电脑附近进行采集。这样可以让你能够完全控制光照效果。

下图展示了一些支架示例。

112236qz8bmowm3bb0a6ze.jpg

左图是个三脚架和螺钉,用于采集松果的所有部分。右图使用了夹钳将常春藤的根放在合适的位置进行采集。

支架类型根据对象而异,但常规要求如下:
要将对象放在一个所有采集部分都可见的位置。 最大限度减小支架部分以便之后去除。 支架和对象的放置状态必须稳定。

2、拍摄
对于完全采集对象所需的照片数量并没有具体的建议。松果这类复杂对象可能需要上千张照片来采集,你可以在对象附近使用蛇形左右路径来覆盖对象的所有部分。

下图是拍摄位置示例,这是使用3ds Max模拟出来的理论位置。

112236xh5fsc5ke8omskh8.jpg

将场景保留在原位,检查照片的对齐情况。如果重构软件不能让图像互相匹配来生成单个点云,且因此产生了多个网格,那就在失败位置拍摄额外的照片。

在下图中,红色的摄像机代表第二次拍摄过程,用来提高图像匹配率并产生单个点云。在考虑用更多照片解决问题时不要犹豫,这样做比使用软件的功能和帮助解决的更快。

112236ou82vdza8rwzbdbu.jpg

在这个松果样本中,第一次短期拍摄过程产生了564张照片。在Reality capture中,第一次图像对齐过程创建了10个组成部分,即10个网格。在相同组成部分即单个网格上,还需要进行至少五次的拍摄过程。最后一共拍摄了1008张照片用来制作这个复杂的资产。

如果无法维持场景设置或是图像对齐过程无法检查,那就使用GoPro来制作视频,从而能够从中提取一些画面并保存过程。

下面是Reality Capture中得到的最后结果。

112237wg8z3k299ggggdtk.jpg

如何仅采集漫反射反照率(颜色纹理)
漫反射反照率(颜色纹理)是独立于视图的对象颜色。将漫反射反照率从摄影制图生成纹理中恢复的常规步骤会后续部分讲解, 这一部分将详细让你了解如何直接从照片中创建接近对象漫反射反照率的纹理。

这个过程并不简单,而且也不会使用上百张照片,这里只需要拍摄一二张照片,然后用作小型对象的漫反射反照率纹理,或是作为验证光照移除结果的参考画面。在完成拍摄后,建议使用下面得方法近距离拍摄对象的漫反射反照率照片,这将在光照移除过程后,为验证重构得到的反照率提供帮助。

112238qamdhv1va5hlpzv7.jpg

为了采集优质的漫反射反照率,你需要使用一些特定设备:一个环形闪光灯和二个偏振滤光镜。一个是用于相机的镜头滤光镜,另一个是用于光源的线性偏振滤光镜。这里的目标是移除任意与视图相关的效果,例如:反射效果。

设置偏振滤光镜
我们可以旋转偏振滤光镜,来允许更多或更少的偏振光通过镜片。

首先是识别滤光镜的方向。这可以通过LCD屏幕来完成。LCD屏幕使用线性偏振滤光镜,所以如果另一个偏振滤光镜以90°的角度覆盖屏幕,那么屏幕的光线会被阻挡。如果是0°,那么光线会通过。

经过这个测试,可以轻松对齐偏振膜和偏振滤光镜。

112238p9ak9vk94wv2aez2.jpg

为了能够采集靠近漫反射反照率的颜色,需要尽可能移除方向光信息。方法是在拍摄在照片上只会出现来自闪光灯,受到我们控制的光照信息。这意味着来自闪光灯的光需要比来自环境的光更明亮,同时也更明显。

建议使用环形闪光灯而不是眼镜蛇闪光灯,因为它会在照片上不太明显的位置产生平行阴影。环形闪光灯在LED灯上增加了线性偏振滤光膜,用来线性偏振闪光灯光线,然后镜头滤光器会用来给相机移除闪光灯的反射。

112239xwnibgigeme2ogj8.jpg

通过这样的设置,镜头偏振滤光镜可以旋转为0°或90°来获得带有或不带有镜面反射效果的照片,这意味着镜头滤光镜和闪光灯滤光镜可以是平行的或是垂直的。

112240xbyqqnuqb1nl0z8n.jpg

下列示例展示的是使用上述设置的拍摄结果。

左图中镜头滤光镜的方向是0°,即镜头和光线偏振滤光镜的方向相同,可以看到来自闪光灯的反射光。右图中,镜头滤光镜的方向是90°(即镜头和光线偏振滤光镜的方向不同),所以来自闪光灯的多数反射光被过滤了。

112241pmyxj5kuuy5pyv6u.jpg

为了最大限度地减少环境反射光,请以1/180以下的快门速度来设定曝光。通过这样设置,照片中只会显示来自闪光灯的光线。这些照片可以产生用来制作粗糙度/光滑度纹理的相关信息。

偏振照片应该通过颜色检查器来调节白平衡,从而得到正确的曝光,得到的照片会展示反照率的效果。下图是原始照片和白平衡后的照片。

112241ahqh1lqgh7w10q95.jpg

如果能用这种方法拍摄所有的镜头,就可能不需要光线移除过程了。然而这种方法并不完美,还存在一些问题:
使用来自镜头滤光镜支持的遮蔽会意味着需要更多的照片,因为这样拍摄所能获得的覆盖范围较小 闪光灯的电池可能不足以这么密集地使用。在拍摄几张照片后电池可能就用完了。 采集时间会大大增加,因为必须等待闪光灯重载完成,这样一来该拍摄流程就不是很实用了。 如果拍摄对象受到了诸如太阳这类强光照射,这样的设置就不起作用。由于太阳光太强烈,它仍会在闪光灯照明的照片上产生阴影和反射。

使用环形闪光灯以1/4000快门速度拍摄的照片示例,下图中红箭头所示会产生阴影和反射,解决的方法是使用遮光板。

112242xn3nzbnv473dhg1b.jpg

如何采集树叶
树叶十分难以采集,主要原因是其对风十分敏感且会在采集过程中不断移动。尽管如此,还是建议在现场进行采集,因为摘下并将树叶带到另一个地点的这段时间内,树叶的样貌就会改变。

虽然可以使用自定义设备的处理方法,也可以在不同光照条件下处理,但是这样会降低工作的效率。为了解决这些问题,建议只使用摄影制图过程来采集反照率。

出于性能考虑,多数游戏使用简单的平面多边形来展示树叶。在这样的环节中提取几何体只会对法线贴图有所帮助。你需要找到所需设备、采集时间、重构过程和手动制作这四者之间的平衡。我们建议在3D软件中手动构造几何体。

首先,创建出一个不受到任何重要的直接光照影响的位置。

113051k72hvtmtvv64h7sw.jpg

然后,将树叶和颜色检查器放在无光泽的黑色背景中,快速创建出没有环境光的纹理遮罩。使用彩色背景会产生问题,因为彩色会影响树叶边缘的颜色。

最后,使用带有环形闪光灯和偏振滤光镜之间角度为90°的相机,采集漫反射反照率。调节好照片的白平衡,得到的结果接近漫反射反照率。该几何体可以在3D软件中建模,并手动制作或生成出法线贴图。

113051ykfrtwxmjwjwxzxj.jpg

小结
摄影制图法工作流程中的采集阶段中采集小型对象、采集漫反射反照率(颜色纹理)、采集树叶的内容就分享到这里。在该系列文章的下一篇中我们将带领大家走进摄影制图法工作流程中最后一个阶段:处理过程。这也是开发者最关注的一个阶段,尽情期待!

更多Unity技术内容分享尽在Unity官方中文论坛(UnityChina.cn)! 照片, 照片建模, 摄影制图 本主题由 admin 于 3天前 置顶锐亚教育

锐亚教育 锐亚科技 unity unity教程