2017-05-12 49 views
0

我有一个平坦的表面模型,我正在应用凹凸贴图纹理绘制并在其上放置一些文本。我正在使用的代码是这样的:改善凹凸贴图的质量in 3js

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,我期望质量好得多。这里是一些图片:

enter image description here

enter image description here

enter image description here

正如你可以看到它是非常像素化和增加纹理大小没有太大改善。如果从方向灯到模型的入射角发生变化(例如旋转模型),质量也会发生变化。

凹凸贴图只是一个纯黑白图像,能否为图像添加一些抗混叠提高质量?我了解凹凸贴图只会修改光的行为方式,它不会修改几何图形,但我在某个网站上看到,增加模型的面数可以改善凹凸贴图(而非位移贴图)的细节,请问这是否可以工作?

+0

请改用普通贴图吗? – gman

+0

+1,你应该能够从中获得更高的精度,同时基本上可以做同样的事情。另外值得注意的是,你使用jpg吗? – pailhead

+0

1)如果我理解正确,你将'minFilter'和'magFIlter'设置为'THREE.LinearFilter'(这是'magFilter'的默认值)。您是否尝试过其他过滤器,例如'THREE.NearestFilter'? 2)增加面数_不会有任何效果,除非你将UV分配给内部顶点,这将防止位置百分比计算在精密兔子孔下面过多。 3)尝试一些抗锯齿。什么会受伤? – TheJim01

回答

0

尝试使用法线贴图而不是凹凸贴图。