javascript - 如何让 Three.js Sprite 背景混合?

标签 javascript three.js

我在 Three.js 中使用 Sprite 来加载点纹理(以前是点云),但我无法使混合正常工作。这是我正在使用的代码:

this._renderer = new THREE.WebGLRenderer({alpha: true, antialias: true, preserveDrawingBuffer: true});
this._renderer.setClearColor( 0x000000, 0 );
....
new THREE.Points(geometry, new THREE.PointsMaterial({transparent: true,  blending: THREE.CustomBlending, blendSrc: THREE.OneFactor,  blendEquation: THREE.AddEquation, map: lt._sprite, size: 1, vertexColors: true}));

该 Sprite 包含 Threejs 附带的 Disc.png Sprite 。这是它的样子:

我使用的不同混合看起来与上述之一相同和/或 Sprite 未正确加载(方形点)。

我对 Threejs 或 webgl 不太熟悉。任何帮助表示赞赏。整个代码又长又复杂,但我可以发布任何相关的部分。

最佳答案

对于遇到同样问题的人,为我解决的问题是:

alphaTest: 0.5

传递给点 Material 。

new THREE.PointsMaterial({transparent: true, alphaTest: 0.5, ....);

关于javascript - 如何让 Three.js Sprite 背景混合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34689669/

相关文章:

3d - 在 child 中反转 parent 的旋转,所以 child 在世界中看起来没有旋转

javascript - 从 obj 文件中加载一个 3d 对象,并使用 Three.Js 将其放入相机中

javascript - 获取响应 header /正文

Javascript 命名空间帮助

javascript - 当我使用 angularjs 从 MVC Controller 获取数据时,OwlCarousel 不工作

javascript - three.js 定向光影

three.js - 三个js : is my point visible or occluded?

javascript - Magento2 不加载图像和 css

javascript - 黑莓 10 javascript 获取设备电话号码

javascript - 重绘对象时如何清除屏幕?