C# 统一纹理投影与UV映射

C# 统一纹理投影与UV映射,c#,unity3d,textures,projection,texture-mapping,C#,Unity3d,Textures,Projection,Texture Mapping,我想问一些关于Unity中的纹理的问题 我不熟悉团结,我需要你的帮助。我有一个想法,使我的三维重建网格自定义查看器。所以,对于不熟悉它的人来说,它基本上是一种使用称为“运动结构”的方法将2D照片序列转换为3D网格的方法。因此,SfM的输出是网格和相机数量。我的想法是将网格和摄影机(作为投影仪)加载到Unity。接下来,我希望如果我单击与某个摄影机相关的按钮,那么该摄影机看到的图像将投影到网格 相机看到的图像示例: 所以,我想问的是,哪种方法更适合将图像作为纹理放到网格中?我应该为每个图像制作

我想问一些关于Unity中的纹理的问题

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

相机看到的图像示例:

所以,我想问的是,哪种方法更适合将图像作为纹理放到网格中?我应该为每个图像制作UV贴图,然后打开和关闭它,还是可以使用投影仪将图像从每个投影仪投影到网格?但我认为,如果我使用投影仪,纹理分辨率必须是正方形。因为我的图像不是正方形的,所以这是不可能的,不是吗?或者你们中有人对如何做有不同的想法或建议吗


非常感谢。

在重建模型中,您的网格是摄影机跟踪点云的细分,而不是单个网格

您需要每个点的确切信息,这是您通过UVmap获得的信息

Proyection图像不使用此信息,您可以获得良好的结果,但需要移动、缩放、旋转到一个良好的位置。但是,一旦你在图像中得到变形,以适应本机投影(球形、长方体、睫状体等)中的模型形状,你就永远不会得到投影的精确形状,只有近似。 在proyection上,如果在三维空间中移动模型,则需要重新调整纹理设置

使用uvmap,您可以获得模型的“蒙皮”。 如果你做了一个很好的展开,你会得到一个非常低变形的模型形状,接近精确的形状。 可以在三维空间中移动模型,而无需修改纹理上的任何设置


另一个优点是,您可以直接从照片集获取UVmap及其颜色信息。不需要另一个额外步骤,使proyection纹理无法获得更好的效果。

Uvmapped更好ever@joreldraw,谢谢你的回复,但你能再详细一点吗?为什么会这样?