所以我使用three.js作为项目,并希望能够使用默认“helvetiker”以外的字体。我做了一些挖掘,发现你需要使用typeface.js转换字体来获取字体文件,并且已经完成了,我只是无法弄清楚如何将这个字体“插入”到threejs。我已经挖掘了mrdoob three.js示例并且找不到任何东西,我也在three.js源文件中挖掘并在THREE.FontUtils中找到了一个loadFace函数,但我不知道如何使用它。这是我使用Three.js的第一个项目,所以任何帮助将不胜感激。谢谢!
格雷格
答案 0 :(得分:2)
我认为这个问题没有得到答案。应该在字体(js)文件的末尾找到threejs所需的确切字体名称。它是:
“familyName”: “字体名”
threejs需要在LOWERCASE中引号内的名称。例如,例如字体: 古英语文本MT
你应该在(js)字体文件的末尾找到...,“familyName”:“Old English Text MT”,...所以你填写三个这个:
font:“old english text mt”
(或者在引号中的familyName之后的任何内容,但是小写。如果你在(js)字体文件中编辑familyName之后的文本,例如“familyName”:“cAt aNd DOg”你必须使用它。所以threejs声明应该看看:
var text3d = new THREE.TextGeometry(n.text,{ 大小:15, 身高:10, curveSegments:10, 字体:“猫与狗” });
最后一定要确保将(js)字体文件放入网站的标题部分,例如:
<script src="fonts/droid/droid_serif_bold.typeface.js"></script>
最后一件有用的事情是(js)字体文件生成器的链接: http://typeface.neocracy.org/fonts.html
答案 1 :(得分:1)
我必须为我做的只是在脚本标记中加载字体并更改TextGeometry中的字体:
var text3d = new THREE.TextGeometry(n.text, {
size: 10,
height: 5,
curveSegments: 2,
font: "droid sans" //change this
});
我认为还没有其他必要步骤。
答案 2 :(得分:0)
正如蒂姆所说,唯一棘手的事情是让字体名称正确。它似乎是生成的js中的“姓氏”,(font_family_name
)是小写的 - 保留空格。如果你觉得方便的话,你甚至可以编辑它(在.js中) - 我已经完成了myself。