版本升级后球体纹理模糊

Chr*_*ler 1 javascript three.js

从r67升级到r86后,我们的足球不再那么性感了。过去有人遇到过类似的问题吗?

在 r86 版本中,用于很好地渲染球体的代码弄乱了纹理(以及一些照明,但我可以忍受)。

创建球体的部分:

const material = new THREE.MeshPhongMaterial({ map: texture, transparent: false });
material.alphaTest = 0.5;
const geometry = new THREE.SphereGeometry(radius, res, res);
const mesh = new THREE.Mesh(geometry, material);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

使用 r86 进行小提琴演奏

The*_*m01 5

在我的评论中,我建议检查 UV。我建议尝试不同的 min/mag 过滤器值(http:// Threejs.org/docs/#api/constants/Textures)更多的是为了纠正图像质量,而不是纹理映射本身。

我没有注意到的是你的纹理已经是球形的。标准线性滤波器线性地映射纹理。线性滤波器的加权/平均导致映射向顶部(和底部,尽管不明显)压缩。

设置texture.minFilter = THREE.NearestFilter;放弃了纹理坐标的加权/平均,而是映射到最近的像素,由于球形纹理,这是完美的。