随笔 - 6  文章 - 0  评论 - 1  阅读 - 11418

threejs文本

基于three.js 对CSS3DRenderer.js再次封装,点击github查看源码。

优化结果:

1.创建的文本对象能够被射线检测到,可添加事件。
2.可和场景物体交替,使文本更具3d效果。

缺点:

1.文本不可透明

安装:

npm install three-3d-text --save

引入:

import { Text3DRenderer, Text3D, Text3DS } from 'three-3d-text'

使用:

    //初始化
    const element = document.getElementById('three-view');
    const textRenderer = new Text3DRenderer();
    element.appendChild(textRenderer.domElement);
    textRenderer.setSize(element.clientWidth, element.clientHeight);

    //添加3D文本,
    const dom = document.createElement('div')
    dom.className = 'text3D'
    dom.innerText = 'hello world!'

    let obj = new Text3D(dom, 80, 20) //80, 20分别是文本长宽
    scene.add(obj)

    //添加3DSprite文本
    let dom1 = dom.cloneNode(true)
    let obj1 = new Text3DS(dom1, 80, 20) //80, 20分别是文本长宽
    scene.add(obj1)

    //更新渲染
    animation() {
        ...
        textRenderer.render( scene, camera );
        requestAnimationFrame(this.animation);
    }

    //自适应
    window.onresize = () => {
        ...
        textRenderer.setSize(element.clientWidth, element.clientHeight)
    }

Text3DRenderer继承CSS3DRenderer, 所以基本和CSS3DRenderer渲染一致。

posted on   95码农  阅读(157)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示