2016-09-15 18 views
1

我想知道如何使用three.js場景中three.js中extras文件夾中的TextGeometry.js。我正在嘗試將文字添加到我的場景中。我發現這個文件,並不知道如何實現/使用它。以下是該文件的鏈接: https://github.com/mrdoob/three.js/blob/master/src/extras/geometries/TextGeometry.js在Three.js中使用TextGeometry.js

+0

你可以在這裏找到一些現成的字體:https://github.com/mrdoob/three.js/tree/master/examples/fonts,並能看到他們在這裏工作:https://threejs.org/examples/#webgl_geometry_text你使用的是什麼版本? TextGeometry在r73中被移出核心,然後在r74中被移回。因此,除非使用r73,否則您不需要明確引用您提到的文件。 (實際上它現在是一個斷開的鏈接。) –

回答

1

首先創建一個JSON字體here

然後加載這樣的:

var loader = new THREE.FontLoader(); 

loader.load("fonts/your_font.json", function(font) { 

    var textGeo = new THREE.TextGeometry("This is a 3D text", { 

     font: font, 

     size: 50, 
     height: 10, 
     curveSegments: 12, 

     bevelThickness: 1, 
     bevelSize: 1, 
     bevelEnabled: true 

    }); 

    var textMat = new THREE.MeshLambertMaterial({color: 0xFF00FF}); 

    var textMesh = new THREE.Mesh(textGeo, textMat); 

    scene.add(textMesh); 

}); 
+0

做完所有這些後,我得到這個錯誤: 'FrontPageNeue.typeface.json:1 Uncaught SyntaxError:意外的標記:' 這是我的字體文件:http:// www .1001freefonts.com/front_page_neue.font 我下載了它並將.otf文件轉換爲json。這是錯的嗎?我應該做一個不同的文件嗎? – McMatt

+0

**很多錯誤。儘管現場加載!在這裏他們是:** three.js:24569 XMLHttpRequest無法加載文件:Html/fonts/FrontPageNeue.json。協議方案僅支持交叉源請求:http,data,chrome,chrome-extension,https,chrome-extension-resource。 **那麼這個** TextGeometry.js:1未捕獲的SyntaxError:意外的令牌進口 **那麼這個** FrontPageNeue.json:1未捕獲的SyntaxError:意外的標記: TextGeometry.js:1未捕獲的SyntaxError:意外令牌導入 – McMatt

+0

查看[this](http://stackoverflow.com/questions/20041656/xmlhttprequest-cannot-load-file-cross-origin-requests-are-only-supported-for-ht)問題交叉原點請求錯誤。 – guardabrazo