Javascript 如何加载three.js文本几何体的字体
我正在尝试创建一个three.js文本几何体(对不起,我对Javascript非常陌生) 我尝试使用自己的JSON字体,但这与使用three.js在其示例中使用的字体产生的错误相同。我看到有人做了这件事Javascript 如何加载three.js文本几何体的字体,javascript,vue.js,three.js,vuejs2,Javascript,Vue.js,Three.js,Vuejs2,我正在尝试创建一个three.js文本几何体(对不起,我对Javascript非常陌生) 我尝试使用自己的JSON字体,但这与使用three.js在其示例中使用的字体产生的错误相同。我看到有人做了这件事 this.pageTitles=[]; const self=这个; const loader=new THREE.FontLoader(); loader.load('font/helvetiker_bold.typeface.json',(font)=>{ self.pages.forEac
this.pageTitles=[];
const self=这个;
const loader=new THREE.FontLoader();
loader.load('font/helvetiker_bold.typeface.json',(font)=>{
self.pages.forEach((页面)=>{
self.pageTitles.push(
新的3.TextGeometry(第页{
字体:字体,
尺码:80,
身高:1,,
曲线段:12,
bevelEnabled:错误
})
);
});
});
我得到这个错误:
Uncaught SyntaxError: Unexpected string in JSON at position 1
at JSON.parse (<anonymous>)
at Object.eval [as onLoad] (three.module.js?5a89:40134)
at XMLHttpRequest.eval (three.module.js?5a89:34850)
Uncaught SyntaxError:JSON中位置1处出现意外字符串
在JSON.parse()处
at Object.eval[作为onLoad](三个.module.js?5a89:40134)
在XMLHttpRequest.eval上(三个.module.js?5a89:34850)
请注意,我使用的是VueJS,此代码位于导出类的单独js文件中
另外,如何加载从google字体下载并转换为.json格式的字体?VueJs无法解析非dist文件夹中的路径。 将helvetiker_bold.typeface.json放入dist文件夹
const loader = new THREE.FontLoader();
loader.load( '/helvetiker_bold.typeface.json', (font) => {
...//do whatever you want
});
最近,我们在three.js论坛上遇到了一个类似的问题:@Mugen87感谢您的评论,我将json字体放在
public
文件夹中,当我查看开发者工具时,它在sources中显示为static/public
。然而,这里唯一的东西是favicon.ico
(Vue图标),当打开它时,它会显示我的index.html
代码(它也在我的项目文件中的public
)。我仍然收到相同的错误消息。我很抱歉这么愚蠢,你能把你的代码作为github repo(类似于three.js论坛中的OP)分享吗?理想情况下,我可以在本地计算机上重现错误,然后寻找修复方法。@Mugen87您可以在此处找到我的项目:。失败的代码在src/js/fractal.js中,我也有完全相同的问题,但在React中。我通过将字体文件移动到public
文件夹解决了这个问题。