相关文章推荐
大力的凳子  ·  threejs ...·  12 小时前    · 
风度翩翩的创口贴  ·  textarea ...·  3 月前    · 
稳重的警车  ·  jquery beforeunload方法 ...·  4 月前    · 
跑龙套的松树  ·  tf.keras.callbacks.Mod ...·  8 月前    · 

1,介绍


使用threejs实现标签显示,这里只介绍如何实现显示标签功能,其他可查看往期文章。

效果图如下:

image

2,主要说明


实现标签使用CSS2DRenderer(2D渲染器) 进行渲染。

1,引入渲染器并初始化

2,创建dom元素对象,添加显示的内容和样式

3,把dom元素包装到CSS2DObject对象,并添加到场景中

4,使用CSS2DRenderer进行渲染显示


引入渲染器,并初始化

<script type="text/javascript" src="libs/CSS2DRenderer.js"></script>
var labelRenderer = new THREE.CSS2DRenderer();
labelRenderer.setSize(window.innerWidth, window.innerHeight);
labelRenderer.domElement.style.position = 'absolute';
labelRenderer.domElement.style.top = 0;
document.body.appendChild(labelRenderer.domElement);

创建标签,并添加到场景中

// 新建标签
function createLableObj(text, vector) {
    let laberDiv = document.createElement('div');//创建div容器
    laberDiv.className = 'laber_name';
    laberDiv.textContent = text + '\n' + "余量:123";
    let pointLabel = new THREE.CSS2DObject(laberDiv);   
    pointLabel.position.set(vector.x, vector.y, vector.z);
    return pointLabel;
let pointLabel = createLableObj(text, vector);
scene.add(pointLabel);


进行渲染


labelRenderer.render(scene, camera);


3,源码和模型


需要完整代码、模型或者其他源码,请进入博客首页查看其他文章或者留言

Echarts除了tooltip其它的标签暂时都不支持html情况下label标签加背景图片的美化方案
Echarts除了tooltip其它的标签暂时都不支持html情况下label标签加背景图片的美化方案
vue 里怎么使用 echarts 实现地图自动轮播功能、自定义 tooltip 悬浮位置提示、自定义 label 标签位置样式?
vue 里怎么使用 echarts 实现地图自动轮播功能、自定义 tooltip 悬浮位置提示、自定义 label 标签位置样式?