【问题标题】:Unwanted square around my sprite in Three.jsThree.js 中我的精灵周围不需要的正方形
【发布时间】:2020-10-06 23:44:41
【问题描述】:

我尝试在 Three.js 中创建一个“星空滑雪”。但是我的星星应该是透明的 .png 有一个彩色的空间。

我在 png 中的精灵:

渲染:

放大星星:

我的代码(.ts 文件):

stars: any;
starGeo = new Three.Geometry();

// Generate random stars 
for (let index = 0; index < 8000; index++) {
  const star = new Three.Vector3(
    Math.random() * 600 - 300,
    Math.random() * 600 - 300,
    Math.random() * 600 - 300
  );
  this.starGeo.vertices.push(star);
}

// Load png
const starSpriteFl = require('../assets/sprites/star.png');
// Create texture
const sprite = new Three.TextureLoader().load(starSpriteFl);

let starMaterial = new Three.PointsMaterial({
  size: 0.7,
  map: sprite,
});

this.stars = new Three.Points(this.starGeo, starMaterial);
this.scene.add(this.stars);

有什么想法吗?

【问题讨论】:

  • 你试过transparent: true 吗?
  • 不,就是这样!

标签: javascript typescript three.js


【解决方案1】:

正如@soju 所述,PointsMaterial 上缺少参数transparent

let starMaterial = new Three.PointsMaterial({
  size: 0.7,
  transparent: true,
  map: sprite,
});   

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-02
    • 2016-08-22
    • 2012-10-23
    • 2023-04-05
    • 2011-08-15
    相关资源
    最近更新 更多