2012-07-14 3 views
2

OBJLoader를 사용하여 큰 3D 모델 (.obj 파일에 설명 됨)을로드하고 표면에 모델 이름을 표시하려고합니다. Three.js는 영어 문자 만 표시 할 수 있습니다. 제 질문은 어떻게 Three.js에 중국어 문자를 표시 할 수 있습니까?Three.js로 중국어 문자를 표시하는 방법

+0

Three.js를 사용하지 않았지만 TextPath.js 소스를 보지 않았습니다. https://github.com/mrdoob/three.js/blob/master/src/extras/core/TextPath.js, 그 것처럼 보입니다. 일부 매개 변수를 전달할 수 있습니다. 매개 변수를 설정하지 않으면 중국어 문자를 표시하지 못할 수도있는'helvetiker' 글꼴을 사용합니다. 이들을 지원하는 다른 글꼴을 사용해보십시오. – Cheesebaron

답변

2

텍스트를 표시하는 몇 가지 방법이 있지만 (https://github.com/mrdoob/three.js/wiki/Text-in-Three.js) 중국어 글꼴을 내 보내기가 더 어려울 수 있으므로, 중국어 문자를 캔버스 텍스처에 그려 넣고 텍스처를 장면의 소재로 사용하는 것이 더 쉽습니다.

0

Facetype.js을 사용하여 중국어 글꼴 라이브러리 (예 : "YaHei_Regular.typeface.json")를 얻은 다음 중국어 문자를 표시 할 수있는 것으로 보입니다.

var fontLoader = new THREE.FontLoader(); 
    fontLoader.load("YaHei_Regular.typeface.json", (font)=> { 
     this.font = font; 
    }); 
0

또 다른 옵션은 msdf-bmfont-xml입니다. 이 예에서는 Microsoft YaHei을 사용합니다.

charset.txt -

你好,世界 

는 먼저 install dependencies해야 할 수도 있습니다. 그런 다음 :

npm install msdf-bmfont-xml -g 
msdf-bmfont -f json yahei.ttf -i charset.txt --pot --square 

그리고 마지막으로, 텍스트를 렌더링하는 three-bmfont-text를 사용합니다.

관련 문제