three.js 添加自定义标签

步骤

// 引入CSS2模型对象CSS2DObject

import {     CSS2DObject,     CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer.js';

创建标签对象:首先需要创建一个标签对象,例如使用 CSS2DObject 来生成可视化的标签。

// 创建一个标签

const div = document.createElement('div');

div.innerHTML = "这是一个标签"; // 标签内容

设置标签位置:给标签设置一个明确的 position 属性,该位置是相对于场景坐标系的。

div.classList.add('tag-3d'); // 添加样式类

// 创建 CSS2DObject

const tag = new CSS2DObject(div);

// 设置标签的位置 (X, Y, Z)

tag.position.set(10, 5, 0);// 在场景中的指定位置

标签添加样式

添加样式

将标签添加到场景:最后,将标签对象添加到 scene 中,使其能够渲染。

scene.add(tag);

添加渲染器

// 创建 CSS2DRenderer

            const css2Renderer = new CSS2DRenderer();

            css2Renderer.setSize(window.innerWidth, window.innerHeight);

            css2Renderer.domElement.style.position = 'absolute';

            css2Renderer.domElement.style.top = '0px';

            css2Renderer.domElement.style.pointerEvents = 'none'; // 允许鼠标事件通过

            // 将 CSS2DRenderer 添加到页面

            document.body.appendChild(css2Renderer.domElement);

更新渲染信息

const animate=()=>{

requestAnimationFrame(animate);

// 渲染 Three.js 场景

renderer.render(scene,camera);

// 渲染 CSS2DObject

css2Renderer.render(scene,camera);

};

animate();

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容