ThreeJS中建立文字的几种方法

1. DOM + CSS

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

优势: 与CSS3D效果一致html5

缺点: 3d效果和运动还原很差git

2. THREE.CanvasTexture

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

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

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

3. THREE.TextGeometry / THREE.TextBufferGeometry

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

优势: 效果好,可与场景进行同步字体

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

4. 3d字体模型

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

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

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

5. 位图字体

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

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

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

6. Three.Sprite

Sprite加载图像纹理

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

缺点: 存在canvasTexture的问题

原文出处:https://www.cnblogs.com/chencarl/p/11725091.html

相关文章
相关标签/搜索