ThreeJS中创建⽂字的⼏种⽅法
1. DOM + CSS
传统html5的⽂字实现,⽤于添加描述性叠加⽂字的⽅法。⼀般使⽤绝对定位,并且保证z-index够⼤,⽤于显⽰在3D场景之上。
优点:
与CSS3D效果⼀致
缺点:
3d效果和运动还原不好
2. THREE.CanvasTexture
在canvas中绘制⽂字,然后使⽤CanvasTexture作为纹理进⾏贴图
优点:
⽂字效果较为丰富,⽅便绘制。
缺点:
⼀旦⽣成,分辨率固定,放⼤会产⽣失真。
3. THREE.TextGeometry / THREE.TextBufferGeometry
使⽤原⽣的TextGeometry进⾏渲染⽣成。
优点:
效果好,可与场景进⾏同步
缺点:
单个字体的颜⾊和动画制作较为复杂,且耗费资源较⼤
4. 3d字体模型
css特效文字使⽤3d制作的字体模型,使⽤threejs进⾏加载控制。
优点:
效果好,可定制效果
缺点:
加载模型较为耗费资源,字体内容⽆法⾃定义
5. 位图字体
通过BmpFont⽣成⽂字模板,然后进⾏加载显⽰。BMFonts (位图字体) 可以将字形批处理为单个BufferGeometry。BMFont的渲染⽀持⾃动换⾏、字母间距、字句调整、signed distance fields with standard derivatives、multi-channel signed distance fields、多纹理字体等特性。优点:
可⾃定义字体和效果
缺点:
加载模型较为耗费资源,字体内容⽆法⾃定义
6. Three.Sprite
Sprite加载图像纹理
优点:
永远⾯向相机的平⾯,适合作为标签显⽰
缺点:
存在canvasTexture的问题
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论