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

相關文章
相關標籤/搜索