【问题标题】:Unity Texture Projection vs UV MappingUnity 纹理投影与 UV 映射
【发布时间】:2017-12-21 16:08:58
【问题描述】:

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

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

example of reconstructed 3D model

相机看到的示例图像:

example image that seen by the camera

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

非常感谢。

【问题讨论】:

  • Uvmaped 比以往更好
  • @joreldraw,谢谢你的回复,但你能详细说明一下吗?为什么会这样?

标签: c# unity3d textures projection texture-mapping


【解决方案1】:

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

您需要每个点的确切信息,这就是您使用 UVmap 获得的信息。

Proyection 图像不使用此信息,您可以获得良好的效果但需要移动、缩放、旋转到一个好的位置。但是,如果您在图像中发生变形以适应原生投影(球形、盒子、圆柱形等)中的模型形状,您永远不会得到精确的投影形状,只有近似值。 如果您在 3d 空间中移动模型,则在投影时需要重新调整纹理设置。

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

另一个优点是您可以直接从照片中获取 UVmap 及其颜色信息。不需要额外的步骤,制作投影纹理不会得到更好的结果。

【讨论】:

    猜你喜欢
    • 2014-12-19
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 2015-04-05
    相关资源
    最近更新 更多