我正在开发一个用于程序纹理生成的库(https://github.com/mikera/clisk),它开始很好地融合在一起。
我现在正在尝试找出制作可平铺 2D 纹理的好方法。
一种似乎可行的方法是将 (0,0) - (1,1) 2D 纹理空间映射到 3D 纹理内的表面上,使表面连接左边缘和右边缘以及顶部和底部边缘纹理(例如圆环)。这样做,应该确保 2D 纹理是自动平铺的。
由于我已经拥有良好的(不可平铺的)3D 纹理(柏林噪声、分形噪声等),这似乎是允许从任意 3D 纹理创建可平铺 2D 纹理的好方法。
所以我的问题:
- 这是一种有效的技术吗?
- 如果是这样,我应该映射到什么样的表面以最大限度地减少扭曲/获得好看的平铺效果?
- 有什么需要注意的陷阱吗?