怪物奇妙物语

宇宙无敌超级美少男的怪物奇妙物语

首页 新随笔 联系 管理
  822 随笔 :: 0 文章 :: 2 评论 :: 16万 阅读

3D场景加载2D标签

2D的html标签

<div id="tag">计数器:{{ count }}</div>
<button type="button" class="btn" @click="increment">+1</button>

通过CSS2DObject将2D的html标签转换成3DObject物体,并添加到场景中去

// CSS2DObject---------------------------
import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer'
// label
const labelEle = document.getElementById('tag')!
const label = new CSS2DObject(labelEle)
label.position.set(0, 1, 0)
scene.addObject(label)

初始化CSS2Renderer渲染器,就和renderer渲染器一样

const css2drenderer = new CSS2DRenderer()
css2drenderer.domElement.style.position = 'absolute'
css2drenderer.domElement.style.top = '0px'
css2drenderer.domElement.style.left = '0px'
css2drenderer.domElement.style.pointerEvents = 'none'
css2drenderer.setSize(dom.offsetWidth, dom.offsetHeight);
const render = () => {
css2drenderer.render(scene, camera)
requestAnimationFrame(renderFun);
};
render()

视频例子

image-20221106204646976

  1. 引入CSS2DObject,image-20221106205003001
  2. 然后加入到场景中image-20221106204946213

image-20221106205031805

  1. 初始化一个css2dlabelrenderer,然后渲染image-20221106205128069
posted on   超级无敌美少男战士  阅读(93)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示