【发布时间】:2017-05-12 00:01:54
【问题描述】:
我有一个表面平坦的模型,我正在应用凹凸贴图纹理来绘制并在其上放置一些文本。我使用的代码是这样的:
loadedMesh.material.bumpMap = new THREE.Texture(canvas);
loadedMesh.material.bumpScale = 1;
loadedMesh.material.bumpMap.wrapS = loadedMesh.material.bumpMap.wrapT = THREE.ClampToEdgeWrapping;
loadedMesh.material.bumpMap.minFilter = THREE.LinearFilter;
loadedMesh.material.bumpMap.needsUpdate = true;
loadedMesh.material.needsUpdate = true;
场景中有模型和 4 个启用了阴影的定向灯。凹凸贴图效果很好,但质量真的很差。凹凸贴图大小为 2048x2048,我期待更好的质量。这里有一些图片:
如您所见,它的像素化程度很高,增加纹理大小并没有太大改善。如果从定向光到模型的入射角发生变化(例如,通过旋转模型),质量也会发生变化。
凹凸贴图只是一个纯黑白图像,在图像中添加一些抗锯齿可以提高质量吗?我知道凹凸贴图只会修改光的行为方式,它不会修改几何形状,但我在某些网站上读到增加模型的面数可以改善凹凸贴图(而不是置换贴图)细节,这可以吗工作吗?
【问题讨论】:
-
改用法线贴图?
-
+1,您应该能够从中获得更高的精度,同时基本上做同样的事情。这里还有一点值得注意,你用的是jpg吗?
-
1) 如果我理解正确,您将
minFilter和magFIlter都设置为THREE.LinearFilter(这是magFilter的默认值)。您是否尝试过其他过滤器,例如THREE.NearestFilter? 2) 增加面数不应该有任何效果,除非您将 UV 分配给内部顶点,这将防止位置百分比计算在精确兔子洞中走得太远。 3)尝试一些抗锯齿。它会伤害什么? -
另外,当您创建画布图像时,请确保它没有应用自己的抗锯齿:developer.mozilla.org/en-US/docs/Web/API/…
-
@gman 我用法线贴图替换了凹凸贴图(也改变了颜色,而不是黑白),效果很好,质量更高。将其发布为答案,以便我接受:)
标签: javascript three.js bump-mapping