Graphics 从不可平铺的3D纹理生成可平铺的2D纹理

Graphics 从不可平铺的3D纹理生成可平铺的2D纹理,graphics,textures,procedural-generation,Graphics,Textures,Procedural Generation,我正在开发一个用于程序纹理生成()的库,它已经开始很好地结合在一起了 我现在正试图找到制作可平铺2D纹理的好方法 一种似乎可行的方法是将(0,0)-(1,1)2D纹理空间映射到3D纹理中的曲面上,使曲面连接纹理的左边缘和右边缘以及上边缘和下边缘(例如,圆环)。这样做时,应确保2D纹理自动可平铺 因为我已经有了很好的(不可平铺的)3D纹理(柏林噪波、分形噪波等),这似乎是允许从任意3D纹理创建可平铺的2D纹理的好方法 所以我的问题是: 这是一种有效的技术吗 如果是这样的话,我应该映射到什么样的曲

我正在开发一个用于程序纹理生成()的库,它已经开始很好地结合在一起了

我现在正试图找到制作可平铺2D纹理的好方法

一种似乎可行的方法是将(0,0)-(1,1)2D纹理空间映射到3D纹理中的曲面上,使曲面连接纹理的左边缘和右边缘以及上边缘和下边缘(例如,圆环)。这样做时,应确保2D纹理自动可平铺

因为我已经有了很好的(不可平铺的)3D纹理(柏林噪波、分形噪波等),这似乎是允许从任意3D纹理创建可平铺的2D纹理的好方法

所以我的问题是:

  • 这是一种有效的技术吗
  • 如果是这样的话,我应该映射到什么样的曲面上,以尽量减少扭曲/获得好看的平铺效果
  • 有什么陷阱需要注意吗

使用3D噪波会产生失真,答案是使用4D噪波,尽管这不是唯一的方法-您还可以使2D功能可平铺

以下是几个有用的链接:

    • 介绍了4D方法
    • 对此有多种答案:使2D可平铺、3D带失真和4D方法