var textured = new THREE.TextureLoader().load("textures/warning.png");
var spriteMaterial = new THREE.SpriteMaterial({
// color: 0xffffff,
map: textured
});
var sprite = new THREE.Sprite(spriteMaterial);
sprite.position.set(
25.729931791092394,
10.179400757773436,
36.07142388020101
);
// console.log(sprite);
sprite.scale.x = 10;
sprite.scale.y = 5;
scene.add(sprite);
上面是图片,也可以用canvas绘制,然后贴图上去.
2.防止资源泄露
beforeDestory(){
this.bloomPass.dispose();
this.envMap.dispose();
this.skymap.dispose();
this.dracoLoader.dispose();
this.spriteMaterial.dispose();
this.sphereGeometry.dispose();
this.meshBasicMaterial.dispose();
this.scene.dispose();
this.controls.dispose();
/*
const data = this.$data;
for (let i in data) {
if (data.hasOwnProperty(i)) {
if (data[i] && typeof data[i].dispose == "function") {
data[i].dispose();
}
}
}
*/
// this.renderer.domElement 就是你的threejs的canvas Dom
let gl = this.renderer.domElement.getContext("webgl");
gl && gl.getExtension("WEBGL_lose_context").loseContext();
}
3.模型发光带线
var lineMaterial = new THREE.LineBasicMaterial({
// 线的颜色
color: "blue",
transparent: true,
opacity: 0.8,
depthFunc: THREE.AlwaysDepth
});
模型.add(
new THREE.LineSegments(模型geometry, lineMaterial)
);
// 之后把模型设置下透明度就成了