2017-07-17 102 views
0

我想问一些关于Unity纹理的问题。统一纹理投影与UV映射

我是Unity新手,需要您的帮助。我有一个想法为我的3D重建网格制作自定义查看器。因此,对于不熟悉它的人来说,它基本上是一种使用称为运动结构的方法将2D照片序列转换为3D网格的方法。所以,SfM的输出是摄像机的网格和数量。我的想法是,我将网格和相机(作为投影仪)加载到Unity。接下来,我希望如果我点击某个相机的相关按钮,那么相机所看到的图像就会投影到网格上。通过摄像头看到

example of reconstructed 3D model

示例图像:

example image that seen by the camera

所以,我要问的问题是,哪种方法更好地把图像的纹理网?我应该为每幅图像制作UV贴图,然后将其打开和关闭,或者我可以使用投影机将图像投影到每台投影机的网格上?但我认为,如果我使用投影仪,纹理分辨率必须是正方形。由于我的图像不是方形的,所以这是不可能的,不是吗?或者你们有什么不同的想法或建议如何做到这一点?

非常感谢。

+0

Uvmapped有史以来最好 – joreldraw

+0

@joreldraw,谢谢你的回复,但你能详细阐述一下吗?为什么这样? –

回答

0

在您的重建模型中,网格是相机跟踪点云的曲面细分而不是单个网格。

你需要每个点的确切信息,这是你用UVmap得到的。

Proyection图像不使用这个信息,你可以得到很好的结果,但需要移动,缩放,旋转到一个好位置。但是,在图像中有变形以适应原生工件(球形,箱形,圆柱形等)中的模型形状时,您从来没有使用工程图获得精确的形状,只有一个aproximation。 如果在三维空间中移动模型,则需要重新调整纹理设置。

随着uvmap你有你的模型的“皮肤”。 如果你做一个不错的展开,你会得到你的模型的形状非常低的变形,接近确切的形状。 您可以在三维空间中移动模型,而无需修改纹理上的任何设置。

而另一个好处是,你直接从照片安全得到你的UVmap和他们的颜色信息。不需要额外的步骤,使得贴图纹理不会获得更好的结果。