点击上方蓝字CG世界 关注CG我们
“ 感知CG · 感触创意 · 感受艺术 · 感悟心灵 ”
中国极具影响力CG领域自媒体
这是Unity官方出的一个摄影测量的流程文章。其中着重讲解了拍摄的过程。重建的过程大致讲解了下Reality Capture中的几个点。其实关于摄影测量的文章此前我们发布过一篇,是由国人大神孙彻结合UE4写的一篇摄影测量的文章【点我穿越回顾】。这两篇侧重点和基于的软件不同,下面一起来看看吧。
CG世界原创翻译
此篇没有设置原创
转载请标注来源
摄影测量可使用普通相机创建高度写实的3D资产。这个指南是基于摄影测量工作流程的电子书,展示了如何捕捉物体和使用摄影测量真实世界的材质。在本指南中,将展示如何使用一个旋转面,快速从物体组合物中产生写实的资产。
可以使用一个小物体来代表一个较大的版本。例如,一个小比例的岩石可以代表更大的岩石。使用可平铺材质制作物体的新比例看起来真实。因此,使用旋转表面捕捉的摄影测量物体可以快速创建任意大小的很多资产。
捕捉小比例物体时,重要的是:
●使用非常短的焦距。
●使用均匀的背景,以免干扰物体重建。
●管理照明,如下面照明部分所描述的那样,要在一个完全黑暗的房间里进行。
●当需要捕捉物体的底部时,使用结构提升物体。
本指南中的方法和例子基于相机和灯光,仅旋转物体所在的表面
设置捕捉设备
准备旋转面和支架
对于旋转面,可以使用普通的木轮。用黑色织物覆盖旋转面的平台。将旋转面放置在易于操作的高度,确保在捕捉期间其支架不可见。如果使用的是小旋转面,可以将托盘放在旋转面顶部以捕获较大的物体。
在这个案例中使用木制圆轮上的托盘作为旋转面。
确保表面的颜色与物体的颜色不同,这样可以将表面与物体分开。在下面的示例中,蓝色沙子提供了对比均匀的蒙版。如果使用的是标记点,请在旋转表面或托盘上添加标记,这样就可以知道在拍摄过程中物体旋转的角度了。
准备照明
在这个例子中只使用一个灯,是一个LEDGO LG-1200 SC。 灯固定在三脚架上,只能垂直移动跟随相机。
设置相机
将相机固定在三脚架上,只能通过三脚架垂直移动。这里我们使用的是佳能6D。具有固定焦距的镜头将比同价位的变焦镜头产生更好的效果。但是,变焦镜头更灵活,因为它可以构建特定的较小细节。近景部分需要大量照片,因此非常耗时。 如果打算在物体上使用可拼接材质,则可能不需要近距离拍摄。
这个例子中相机使用50毫米镜头,不需要捕捉微观细节。还在镜头顶部使用了偏振滤光片。
相机设置如下:
光圈:f/11
快门速度:1/4
感光度:400
在这个例子中,光圈设置为f / 11可以得到清晰的景深。 如果物体的长度和宽度之间的比率不接近1:1,则需要较低的光圈。
快门速度取决于灯光。光线越强,快门速度就越快。将ISO设置尽可能低一些。以佳能6D为例,ISO设置为相机的最小值100。
正确的曝光是在快门速度和ISO之间取得的平衡。相机必须有足够高的曝光量,而不会造成由极端值产生的“太假”。
例子中使用平板电脑运行佳能远程的应用程序,使用Wi-Fi连接到相机。遥控器可拍照片而不需要按相机的快门。这意味着可以自由且高效地旋转圆盘,因为平板电脑是从相机的视角来显示物体的。
定位设备
将相机放置在距离物体较远的位置,让它适合物体在其视角中的位置。将灯光尽可能靠近相机放置,让光线指向与相机视图方向相同。像这样对齐灯光和相机可避免阴影。设置如下所示:
要覆盖物体的所有部分,必须垂直移动相机。一定要把灯和相机一起移动。
除了相机后面的灯光,关掉房间内的所有灯光的效果,如下所示:
将相机设置为可提供黑色背景的曝光和景深。这取决于物体和光线的情况,因此需要调试不同的值,直到获得如下效果:
要消除由光引起的镜面反射,必须在相机上使用偏振滤镜,使滤镜垂直于灯上的滤镜。
拍照
首先,设置焦点,使整个物体或一组物体处于清晰的景深中。移除相机的自动对焦功能。
将表面旋转360度,以确保表面足够稳定,并且物体始终完全在相机视野中。
拍摄第一张照片,然后确认焦距的质量。
色卡(色彩测试卡)
如果需要物体的纹理,那必须要使用颜色测试卡来拍,方便白平衡。
可以使用Knald对所有照片进行白平衡或基色烘焙。这样更快,但不太准确。在本例中,使用Lit Material的基色完成白平衡,因为它仅使用基色来影响纹理中的其他层并带来一些多样性。
捕捉
将旋转面非常缓慢地旋转360度,并以一致的速度拍摄常规照片。拍摄的照片越多,重建就越准确。
在几个不同的高度重复上述步骤,以覆盖物体的所有部分。
完成后,将所有照片放在一些摄影测量软件中,例如Reality Capture并检查对齐情况。
在样本中,360度照片在不同高度上重复了四次,总共为500张照片。使用这些照片,Reality Capture提供了以下相机对齐:
如果照片曝光正确,所有相机应该在一个组件中。 如果不是,则可能是照片曝光不正确,太模糊或背景不够均匀。这样的话得需要重新拍。
重建模型
有关重建过程的说明,请参阅摄影测量电子书
大致的流程如下:
将照片放入Reality Capture。
●在“Workflow”下,单击“Align Images”。
●单击“Calculate”按钮从图像中计算模型。如果网格超过2000万个面,请使用“Simplify ”功能创建较低面数的网格。纹理烘焙过程使用高面数网格来创建高质量的纹理。低面数网格的重修版本将成为高质量纹理的目标。
●单击“Colorize”按钮以着色模型。
●导出网格。使用PLY格式,因为它比OBJ更轻量级,因此以后可以更快地使用。
ZBrush模型修复和生成UV
安装PLY import/export插件
插件下载链接:http://archive.zbrushcentral.com/showthread.php?193288-PLY-format-plugin-for-ZBrush-4R8
导入从Reality Capture导出的高面数PLY网格。
●Reality Capture可能错误地计算了模型的某些区域,因此需要检查网格并手动修正这些区域。
●使用ZRemesher创建网格的副本。设置ZRemesher用于创建副本的多边形数时,要注意ZBrush表示四边形而不是三角形中的多边形数量。
●现在,用不同的颜色来绘制每个元素。只要两个相同颜色的物体不相邻,那么可以多次使用相同的颜色。
●使用Polypaint创建Polygroups。这个例子中使用0.5的容差。
●使用ZBrush的UV Master插件打开模型UV。一定要开启Symmetry和Polygroups。
●使用OBJ或GoZ文件格式导出网格。
3ds Max或Maya优化UVs
将刚刚从ZBrush导出的网格导入3ds Max或Maya。
管理UV以针对物体进行优化。在这个例子中使用平面UV作为地面并对一些单独的岩石UV岛进行缩放以优化纹理上的空间。在使用相同的纹理尺寸时,这可以提高单个UV的质量。
缩放UV时,一定要尊重原始的UV比率。
●为模型设置平滑组,以定义应使用光滑曲面渲染。
●将模型导出为低多边形网格以进行烘焙(不从原始导入移动,旋转或缩放)。
Knald烘焙纹理
从Reality Capture导入高面数网格,从3ds Max或Maya导入地面网格。
●指定低面数网格以进行烘焙并烘焙基色,法线贴图,高度贴图和环境光遮蔽。
●Knald不导出高度图信息,因此将最小,中间和最大高度图信息存储在文本文件中。选择允许细分的着色器时,将高度图指定给“Height Map”字段。Unity然后公开高度图参数,以便将写入的高度图信息输入到文本文件中。
●导出纹理。可以使用TGA,Tiff和PNG等格式。
3dsmax/maya-创建LOD并准备网格
●如果你需要改变你的模型,也许需要改变它的规模或位置,在统一使用之前修改它。
为模型创建Levels Of Detail(LOD)。
在每个LOD上使用不同的标准材质。
遵循Unity的Level Of Detail 中描述的命名规则
以便Unity可以导入LOD,并正确设置LOD。
●导出LOD。应该将它们导出为一个FBX,这样所有LOD都在一个文件中
Photoshop创建蒙版贴图
●创建材质蒙版。在这个例子中使用蓝色沙子来选择所有地面。
●创建蒙版贴图。有关遮罩贴图格式的信息,请参阅Lit着色器文档。
●白平衡基色。
●导出蒙版。可以使用TGA,Tiff和PNG等格式。
Unity导入和使用模型
●将模型导入Unity。
●为模型创建至少两个材质 (Menu: Assets > Create > Material)。
●创建分层材质。为此,请创建常规材质(Menu: Assets > Create>Material)然后将材质的着色器更改为HDRenderPipeline / LayeredLit。
●将上面创建的材质指定给“Layered Material”中的“Layer”字段。
●使用顶点颜色绘制来管理图层并定义哪些材质在模型的哪个部分可见。
本文翻译自https://unity.com/solutions/photogrammetry
需要看原文的小伙伴请复制上面链接用浏览器打开即可。
好了,这就是Unity官方出的利用摄影测量来创建资产的流程。希望对大家有所帮助。
CG世界粉丝交流群重新开启
请加微信motionlight申请加入
更多精彩内容请点击底部蓝字“阅读原文”
原创文章,作者:CG世界,如若转载,请注明出处:https://www.cgworld.wiki/33570.html