typescript 你能使THREE.js点对象中的单个点透明/不可见吗?

dhxwm5r4  于 2023-01-31  发布在  TypeScript
关注(0)|答案(1)|浏览(123)

我有一个Three.js Points对象,它包含了在3D空间中显示一组点的数据。我想动态地使一些点不可见,但不确定如何实现。
材质是PointsMaterial。xyz数据存储在pointsObj.geometry.attributes.position.array中,颜色数据存储在pointsObj.geometry.attributes.color.array中,但我不确定是否可以更改单个点的alpha值或可见性(我可以使 * 所有 * 点不可见,但这是不同的)
有人知道这可能吗?

jjhzyzn0

jjhzyzn01#

每个点必须有color.array,可以直接修改。

var colors = pointsObj.geometry.attributes.color.array;

for (var i = 0; i < colors.length; i += 4) {
  if (shouldPointBeInvisible(i)) { //<-- not implemented
    colors[i + 3] = 0; // Set alpha value to 0 to make the point invisible
  }
}

pointsObj.geometry.attributes.color.needsUpdate = true;

相关问题