微信号:Unity-GreaterChina

介绍:Unity官方开发者平台,分享最前沿的技术文章和开发经验,精彩的Unity活动和社区相关信息.

摄影制图法工作流程指南(2)

2018-08-27 12:18 Unity

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


摄影制图法工作流程分为三大阶段:

  • 准备阶段:摄影制图法概述、需要使用到的硬件和软件设备,采集阶段前需要考虑的问题。

  • 采集阶段:资产的选择与拍摄、如何采集表面、细节与纹理、各种对象、采集反射反照率。

  • 处理过程:图像处理、重构创建模型、烘培网格、烘培纹理、创建游戏资产。


我们分享了摄影制图法工作流程的准备阶段。由于篇幅限制,本文将分享采集阶段中采集非小型对象和采集表面


请注意在进行图像采集前,一定要检查所需要使用到硬件清单提前把电池充好电,清洁镜头并确保内存卡为空。


如何采集对象(非小型对象)

1

资产选择

摄影制图法最适用于制作在3D雕刻软件中需要大量时间制作的对象。所以不要将摄影制图法用来制作立方体这类简单的形状,也不要试图采集某个地点的所有对象。要根据可用部分来考虑需要采集的对象,选择可以让你重构环境的部分对象。重点是质量而不是采集数量。


下面的示例展示了环境中多个部分的识别情况,图中所提供的多个元素将允许你使用多个实例化资产构建游戏关卡。



不要从所有角度完全采集的大型对象,应该从它们要在游戏中展示的位置采集。对这类资产进行旋转会展示出未构建的部分。艺术家需要通过传统方式制作这类资产的缺失部分,从而能在所有角度下查看对象。

 

当采集一个对象时,避免在多角度观察时遇到的障碍物。还要注意阴影和高光,就像准备阶段何时采集部分所说的,条件合适的话就使用遮光板。



2

拍摄

颜色检查器设置

颜色检查器用来调节照片的白平衡,但也可以给虚拟资产用作比例缩放单位。


了解重构对象的大小是很重要的,因为摄影制图过程会丢失这个信息。所以拍摄时要为颜色检查器寻找一个合适位置。要和对象的距离足够近,但又不能处于对象的阴影中。要找到场景中可以在处理过程中将其去除的位置,或是能够在电脑上把它涂掉的位置。颜色检查器通常要面向天空放置。



距离/分辨率选择

采集图像时有必要评估对象的重要性。在游戏中靠近摄像机的资产会比背景资产需要更多纹理分辨率。你必须为各种资产定义纹理预算,这些决定将影响拍摄时所作的选择。与对象之间的拍摄距离取决于对象本身的大小、镜头变焦和纹理预算。对象应填充大部分图像,从而最大化重构质量。

 

如果想要采集到较高的分辨率,需要近距离地拍摄图像。有时需要较长时间来拍摄类似树桩这样大型对象的微小分辨率。此外,Reality Capture会根据所选的许可证限制重构时能使用的照片数量。

 

实际使用中,为了从树桩这样的大型对象采集到4096x4096的纹理,需要在1~2米之间的距离拍摄照片。


拍摄位置

当拍摄一个对象时,重要的是完全覆盖该对象。对象的所有部分必须被多张照片覆盖,从而让重构软件能够创建相似像素组,这样也能保证最后得到的资产不带有空洞或是欠缺采样部分。

 

理想情况下,拍摄位置应该如下图所示。

 

 

上图来自3ds Max中的截图,该图案是通过在对象附近移动并拍摄多张远景照片制作出来的,它需要少数近距离照片为重构步骤提供更多细节,在每个水平摄像机位置上,垂直覆盖对象非常重要。

 

在实际情况中,可能很难遵循这个理想的方法,或许你最后会得到类似下图的画面。下图来自Reality Capture中的截图。

 

 

在拍摄过程中很容易错过一些元素。如果可以的话,请拍摄大量照片并在电脑上进行查验。当结束拍摄后,往往很难回到同一地点并在同样的天气和光照条件下进行拍摄。

 

你也可以通过相似的方法快速获得GoPro 4视频。该视频在之后可以作为备份用来提取出缺失区域、欠采样区域或是重构效果较差的区域。拍摄这种视频不需要太多时间,而且可以节省很多重构校正的时间。颜色检查器必须出现在视频中,从而能够调节提取帧的白平衡设置。

 

GoPro也可以用来拍摄对于相机来说比较困难的部分。例如:相机无法拍摄树桩底部位置。



拍摄覆盖范围

重构软件需要在照片集中拥有足够的相似像素用来产生点云。为了进行精确的重构,建议使图片之间有90%的重叠部分。

 

 

这意味着只要每次拍摄之间,向旁边移动约30厘米的距离,并保持相机对目标对象的焦点,然后从上到下拍摄包含对象的照片。

 

你可以拍摄超过预期所需的照片数。但一定要在摄像机稳定的时候进行拍摄。在拍摄时的任何动作都会导致照片模糊。


比例单位

根据游戏的背景内容,在真实世界和重构的虚拟资产之间保持相同比例非常重要。为了做到这一点,需要在重构网格中加入已知大小的参考对象,它将用于定义比例的大小。


可以使用任何对象作为参考对象。颜色检查器就是一个很好的参考对象,因为它已经位于靠近目标对象的位置,而且带有5厘米的标尺。

 

 

对于类似城堡这样的大型对象,你可以测量出它一部分的大小,从而了解真实世界的大小比例。


3

大型对象

超大型对象需要使用无人机拍摄图像,这些对象包括:悬崖、城堡和船只等。

 

建议使用无人机录制视频而不是拍摄照片,因为对于这类大型对象,单个图像拍摄的方式并不会让你拥有更好的质量,而且视频能让你轻松覆盖整个对象。你也可以将近距离手动拍摄的图片和无人机拍摄的远景镜头混合使用。

 

 

另外,也可以用无人机来创建占位符区域或临时元素。下面的示例展示了使用无人机提取的照片通过Reality Capture重构的一个区域。它可以用作快速占位符的布局。


如何采集表面

摄影制图过程可以用来采集表面,以便之后作为材质用在游戏中。


1

准备区域

首先,找到一个没有阴影的位置,或使用遮光板来使当前位置免受光线的直接照射。然后去除不想要的元素,小心处理重要的元素或图案,尤其是打算创建可平铺材质时。要避免在采集区域走动,这样就不会在其中出现脚印或是破坏自然元素。

 

在采集位置使用标记工具,用来定义采集区域。标记工具例如:软的表面使用帐篷钉,硬表面使用粉笔。采集区域如下图中使用了红色箭头进行标记。

 


对于2Kx2K的纹理和游戏中每米1K体素的体素比例,使用的区域大小要2mx2m。在现实世界和虚拟资产之间保持相同比例很重要。记得将颜色检查器放在靠近采集区域的位置。


2

拍摄

采集地面

在扫描地表之前,建议拍摄周围环境的照片作为参考,用作位置提醒或是用来跟踪拍摄。

 

为了扫描地表,请按照从外至内的螺旋路径拍摄俯视照片。拍摄过程中要向侧面移动,保持头部朝着中心位置。不要碰到区域内的地面元素,注意身体阴影和自己的脚,不然会影响到重构结果。

 

 

下面是Reality Capture中的示例结果。正如预期结果,我们不可能拥有完美的路径,你只需确保能覆盖所有区域即可。下图一共拍摄了179张照片。

 

 

下图为完全处理后得到的纹理。

 


采集垂直表面

在扫描表面前建议拍摄周围环境的照片作为参考,用作位置提醒或是用来跟踪拍摄。

 

要扫描垂直表面,请按照左右方向的移动路径拍摄照片,如下图所示。


 

请将颜色检查器平行于表面放置。采集可以执行两次,第二次在更近的距离进行,以便为材质提供更多细节。

 

下图是Reality Capture中的示例结果。一如预期不可能得到完美的路径,你只要确保所有区域都被覆盖即可。

 

 

重新制作表面是产生可平铺材质的好方法。

 

 

这些材质可以用于手工制作的几何体,也可以在GoPro或无人机视频重构的几何体上使用。拍摄视频是个制作资产相当快捷的方法,因为这样的采集速度较快,而且不会牺牲资产质量。几何体会提供粗略的细节信息,而材质则提供精细的细节。


3

细节纹理

细节纹理是与主纹理结合使用的第二层纹理,用于提供更多细节。例如:通过以较小比例添加更高分辨率的细节纹理,可以增强用于覆盖石块模型大片区域的石块纹理,从而显示出石块上的小裂缝和缺陷部分。

 

同样的方法也适用于扫描出来的材质,首先粗略地进行扫描,然后进行第二次精细的扫描,用于在游戏绘制材质时进行组合。

 

细节纹理的采集过程和常规表面的采集过程一样,不过镜头会更近距离地拍摄小块区域。用于制作细节纹理所选择的区域应该尽可能通用,因为相较于主要纹理,细节纹理通常会在对象上多次平铺。

 

实际情况中,拍摄是在自动对焦限定的最近距离进行。下面的示例左侧是粗略的对象,用来创建几何体和基本材质。右侧是扫描出来的细节区域,用来制作细节纹理。拍摄距离是自动对焦所允许的最近距离。

 

 

你应该只选择一小块区域用作细节纹理。尝试将对象的大部分区域用作细节纹理会使纹理的分辨率过高,并且很浪费拍摄时间。

 

下图是在拍摄时根据不同目的与目标对象之间的正确距离示例。

 

 

  • 几何体:应拍摄整体照片,用来采集对象的主要形状。

  • 细节几何/材质:应较近距离地拍摄照片,从而得到几何体上的更多细节,用来制作可用材质。

  • 细节纹理:应在自动对焦限定范围的最近距离拍摄照片。用来制作细节纹理。


小结

摄影制图法工作流程流程的采集阶段中,采集非小型对象和采集表面就分享到这里,我们在下篇中将分享采集小型对象、颜色纹理、采集树叶这三大块,尽请期待! 


更多Unity技术文章分享尽在Unity官方中文论坛(UnityChina.cn)!


推荐阅读

活动信息

直播预告 | 与Mike大叔和Unity 2D团队聊新功能

8月29日20:00-21:30,来自Unity 2D开发团队的产品经理Rus Scammell以及大家非常熟悉的Mike Geig大叔,通过在线直播和大家一起聊聊Unity最新的2D和ECS功能。[了解详情...]

直播地址:

https://connect.unity.com/events/unity_live_session_singapore 


Unity视觉艺术专题论坛报名开启

9月11日,Unity将参与由中央美术学院、中国文化娱乐行业协会联合举办首届游戏艺术大展,并举办Unity视觉艺术专题论坛,邀请所有对技术与艺术游戏及视觉艺术感兴趣的人员参与本次活动。[了解详情...


8月Asset Store资源商店促销 

8月期间,只需在Asset Store资源商店消费满50-255美元,即可获赠2-6款精品资源,最高消费250美元,更可附赠获得一件Asset Store定制款T恤!

活动地址:

https://assetstore.unity.com/g/august-promo-activation



点击“阅读原文”Unity官方中文论坛

 
Unity官方平台 更多文章 在Unity中实现相机抖动特效 PiXYZ v2018.2-助力汽车行业成功的自动化工具和算法 《不可思议之梦蝶》开发经验分享 Unity免费的优质场景资源 《行尸走肉:行军作战》移动端优化经验
猜您喜欢 干货 | Nginx+Linux 性能调优 坑系列 --- 重构过程中的过度设计 数据库不适合Docker及容器化的7大原因 一个外行眼中奇葩的数据中心,胡侃开放计算 数据清洗的一些梳理