在Three.js中使用不同于默认的字体
Using fonts different than default in Three.js
所以我使用three.js为一个项目,并希望能够使用默认的"helvetiker"以外的字体。我做了一些挖掘,发现你需要使用typeface.js转换字体来获得字体文件,并且已经这样做了,我只是不知道如何将这种字体"插入"到三个js中。我翻遍了mrdoob THREE. js的例子,找不到任何东西,我也翻遍了THREE. js的源文件,在THREE中找到了一个loadFace函数。FontUtils,但我不确定如何使用这个。这是我使用Three.js的第一个项目,所以任何帮助都会非常感激。谢谢!
格雷格我看到这个问题没有答案。三个js所需的确切字体名称应该在typeface (js)文件的末尾找到。它是:
"familyName":"字体名"
threejs需要将名称放在引号内,但要小写。例如font:古英语文本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。文本,{尺寸:15日高度:10curveSegments: 10,字体:"猫和狗"});
最后,确保你把你的(js)字体文件放在网站的标题部分,例如:
<script src="fonts/droid/droid_serif_bold.typeface.js"></script>
最后一个有用的东西是(js)字体文件生成器的链接:http://typeface.neocracy.org/fonts.html
我所要做的就是在script标签中加载字体并在TextGeometry中更改字体:
var text3d = new THREE.TextGeometry(n.text, {
size: 10,
height: 5,
curveSegments: 2,
font: "droid sans" //change this
});
我认为没有必要采取其他步骤。
正如Tim所说,唯一棘手的事情是获得正确的字体名称。它似乎是"姓",是在生成的js, (font_family_name
)在小写保持空间。如果你觉得方便的话,你甚至可以编辑它(在。js中)——我自己就是这么做的。
- 在不阻止默认行为的情况下检测IE10中的缩放
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- 切换菜单仅在单击时打开,而不是默认情况下打开
- 向插件添加属性(不是默认方式)
- 在 Chrome 中打开电子邮件中的网址/链接,而不是默认浏览器 IE8
- 将描述添加到jquery Nivo Slider(不是默认标题)
- JavaScript计算不同于Firefox的图像尺寸(?)
- 为什么{}+[]不同于({}+[])
- 新日期(2012,01)不同于新日期(2012-01)
- 是否可以与位于不同于html5网站呈现的服务器的网络套接字进行通信
- 在 JQuery 1.8 中重新加载 location.reload 不是默认 #one
- MongoDB+Express - 猫鼬不保存“默认”值
- ||运算符在 null 时不设置默认值
- 下拉列表不同于手动选择和自动选择
- Array.fill 不同于赋值上的文字 2D 定义
- 如何将设置中心更改为 Google 地图的 25% 宽度而不是默认的 50%
- JSLint 不喜欢默认作为开关中的第一种情况
- 流星 - 防止默认不阻止默认
- 在Three.js中使用不同于默认的字体
- 如果值不同于默认选择,则启用/禁用按钮