【问题标题】:Multiple Texture Maps (Multiple UVs?) on one model in threejsThreejs中的一个模型上的多个纹理贴图(多个UV?)
【发布时间】:2014-03-28 07:16:50
【问题描述】:

这是一个有点长且有点开放式的问题,我很乐意就此获得帮助和意见:

我有一件长袖衬衫的 3D 模型(以 Collada 格式导出的网格)。男士正装衬衫,16领,34袖等,造型精准。

我有三种面料——三种面料都是圆点花纹(也许我是个小丑)。他们的详细信息如下:

  1. 1 英寸红色圆点织物有一个直径为 1 英寸的圆点,每英寸重复一次(圆点本质上是相互接触的)
  2. 3 英寸蓝色圆点织物有一个直径为 3 英寸的圆点,每 3 英寸重复一次(圆点本质上是相互接触的)
  3. 7 英寸绿色圆点织物有一个直径为 7 英寸的圆点,每 7 英寸重复一次(圆点本质上是相互接触的)

我以 32ppi 扫描每块织物并制作了可以无缝重复的纹理贴图(很简单,因为它们是波尔卡圆点)。所以现在我有:

  1. red-polka-dot.png 为 32x32 像素
  2. blue-polka-dot.png 为 96x96 像素
  3. green-polka-dot.png 为 224x224 像素

我想使用 threejs 来展示每种面料在我的衬衫上的真实外观(根据点的大小在衬衫上重复正确的次数)...

据我所知,我有两个问题:

  1. 我有“Non-Power of Two”纹理
  2. 我的模型上有一个 UV 空间(可能它对应于 Red Polka Dot 面料,因此它会按照应有的方式重复每一英寸)

是否有可能完成我想做的事情?有没有我应该探索的替代方案?

提前致谢。

【问题讨论】:

    标签: three.js webgl shader collada


    【解决方案1】:

    也许这对问题 2 有帮助) How to repeat the texture map like GL_REPEAT?

    for 1) 如果您在纹理平铺方面遇到问题,我的建议是给您一个像 gimp 或 Photoshop 这样的照片编辑软件,并让您的纹理具有 2 分辨率的能力: Three.js Repeat texture fail

    【讨论】:

    • 嘿 GuyGood - 感谢您的回复。问题是我需要 1 英寸圆点在模型上每 1 虚拟英寸重复一次,3 英寸每 3 虚拟英寸重复一次,7 英寸每 7 虚拟英寸重复一次……我不能将它们全部设为 1024x1024(或任何 2 的幂),因为它们不具有共同的分母,因此它们不会在相同的 PPI 下以 1024x1024 无缝重复。所以我需要多个 UV 空间,到目前为止据我所知...?
    • 不,只需尝试在 three.js 中进行纹理平铺并使用这些值来获得理解。据我了解,您有一件未包装的 T 恤,您将如何获得 x" 缩放?您将按比例缩放 UV,例如 1 倍 1 英寸,1/3 以具有 3 英寸缩放等等(或类似的东西,我还没有看到你的纹理和展开)。无论如何,你可以玩纹理的重复次数来达到相同的效果。唯一的问题是获得正确的缩放比例。为此,您将不得不使用这些值以尽可能接近地匹配它们。
    • 您可以将纹理保持在适当的分辨率,例如 64x64 或 128x128 和 256x256(对于您的三个纹理)。分辨率与您想要实现的纹理平铺无关。只需尝试不同的平铺值即可更好地了解将要发生的事情。从你的角度来看,这对你有用,但也许我不明白这个问题。
    猜你喜欢
    • 2019-08-12
    • 2019-03-16
    • 2017-06-10
    • 2018-09-22
    • 2018-10-24
    • 2021-05-12
    • 2020-02-07
    • 1970-01-01
    • 2015-01-11
    相关资源
    最近更新 更多