zoukankan      html  css  js  c++  java
  • ThreeJS中创建文字的几种方法

    1. DOM + CSS

    传统html5的文字实现,用于添加描述性叠加文字的方法。一般使用绝对定位,并且保证z-index够大,用于显示在3D场景之上。

    优点:
    与CSS3D效果一致

    缺点:
    3d效果和运动还原不好

    2. THREE.CanvasTexture

    在canvas中绘制文字,然后使用CanvasTexture作为纹理进行贴图
    例子

    优点:
    文字效果较为丰富,方便绘制。

    缺点:
    一旦生成,分辨率固定,放大会产生失真。

    3. THREE.TextGeometry / THREE.TextBufferGeometry

    使用原生的TextGeometry进行渲染生成。例子

    优点:
    效果好,可与场景进行同步

    缺点:
    单个字体的颜色和动画制作较为复杂,且耗费资源较大

    4. 3d字体模型

    使用3d制作的字体模型,使用threejs进行加载控制。例子

    优点:
    效果好,可定制效果

    缺点:
    加载模型较为耗费资源,字体内容无法自定义

    5. 位图字体

    通过BmpFont生成文字模板,然后进行加载显示。BMFonts (位图字体) 可以将字形批处理为单个BufferGeometry。BMFont的渲染支持自动换行、字母间距、字句调整、signed distance fields with standard derivatives、multi-channel signed distance fields、多纹理字体等特性。three-bmfont-text

    优点:
    可自定义字体和效果

    缺点:
    加载模型较为耗费资源,字体内容无法自定义

    6. Three.Sprite

    Sprite加载图像纹理

    优点:
    永远面向相机的平面,适合作为标签显示

    缺点:
    存在canvasTexture的问题

  • 相关阅读:
    pip install
    自动更新高清电影文件中文名
    csv、excel导入oracle
    02_Jenkins配置任务
    01_Jenkins windows安装
    run_jmeter.py
    02_禅道的基本使用
    01_禅道搭建手册
    01_charles 下载安装(破解版)
    06_Linux常见的命令
  • 原文地址:https://www.cnblogs.com/chencarl/p/11725091.html
Copyright © 2011-2022 走看看