欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Three中创建文字的几种方法

程序员文章站 2022-03-28 18:51:27
1. DOM + CSS 传统html5的文字实现,用于添加描述性叠加文字的方法。一般使用绝对定位,并且保证z index够大,用于显示在3D场景之上。 优点: 与CSS3D效果一致 缺点: 3d效果和运动还原不好 2. THREE.CanvasTexture 在canvas中绘制文字,然后使用Ca ......

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的问题