赋上一张报警贴图(白色的):
直接上代码:
let texture = new THREE.TextureLoader().load("images/circle2White.png");
let material = new THREE.SpriteMaterial({ //创建精灵材质
map: texture, // 赋值贴图
color: "#ff0000", // 设置颜色
transparent: true, // 是否开启透明度
opacity: 1, // 设置透明度
depthWrite: false, // 深度写入
});
const sprite = new THREE.Sprite(material); //创建精灵,精灵永远朝向相机
sprite.position.set(27, 33, 13);
scene.add(sprite);
animate();
let circle_n = 0
function animate() {
requestAnimationFrame(animate);
circle_n = circle_n > 20 ? 0 : circle_n + 0.2
sprite.scale.set(0.5 * circle_n + 0.5, 0.5 * circle_n + 0.5, 0.5 * circle_n + 0.5)
if (sprite.material) {
sprite.material.opacity = circle_n === 0 ? 1 : sprite.material.opacity - 0.006
}
}
Sprite精灵 官网API:https://threejs.org/docs/index.html?q=Sprite#api/zh/objects/Sprite