在Three.js中没有大小衰减的SpriteMaterial

问题描述 投票:0回答:1

我需要Three.js中没有sizeAttenuation的(铭牌)精灵,它看起来像这个例子:

enter image description here

//load image with 256x128px 32bit png

var spriteMap = new THREE.TextureLoader().load("tex/plates/mytest.png");
var spriteMat = new THREE.SpriteMaterial({map:spriteMap, transparent:true, sizeAttenuation:false});
var sprite = new THREE.Sprite(spriteMat);
...
spriteMat.map.minFilter = THREE.NearestFilter;

结果不是模糊的,但是它不正确,并且有一些我不需要的伪像:

enter image description here

这是我第二次尝试使用(THREE.LinearFilter),也不是我想要的原因,因为它太模糊了:

enter image description here

渲染器尺寸:1200x800px(非全屏)

所以,我不知道它是否与滤波器,位置或缩放有关。第一个示例似乎是位图文本,但我真的不知道如何解决此问题。我也不需要屏幕空间中的2D精灵。我需要3d世界空间中其他物体后面的铭牌。我真的不知道如何解决这个问题,请问有人可以帮助我解决这个问题吗?

three.js sprite texture2d
1个回答
0
投票

有人可以帮忙吗?还是多个渲染器可以解决此问题,以使位图文本始终保持相同大小并具有锐化边缘?

© www.soinside.com 2019 - 2024. All rights reserved.