出现如下错误
Uncaught TypeError: Cannot read property 'normal' of undefined
在我的网页上运行以下代码后:
var text_geo = new THREE.TextGeometry("H", {size:20});
var text_mat = new THREE.MeshBasicMaterial({color:"white", overdraw:true});
var txt = new THREE.Mesh(text_geo, text_mat);
当我使用 Chrome 调试器时,它会将问题追溯到 three.js 源代码文件。有办法解决这个问题吗?
谢谢
最佳答案
我遇到过同样的问题,你应该下载一个字体让THREE.js使用它。默认字体为 helvetiker
, 它位于 here , 像普通的 JavaScript 一样将它添加到页面
<script src="http://mrdoob.github.com/three.js/examples/fonts/helvetiker_regular.typeface.js"></script>
确保在 THREE.js 之后加载字体。
如果你想使用其他类型的字体,你可以下载相应的字体并设置一个weight
属性:
<script src="http://mrdoob.github.com/three.js/examples/fonts/helvetiker_bold.typeface.js"></script>
var text_geo = new THREE.TextGeometry("H", {size:20, weight: "bold"});
r.54
关于javascript - Three.js - 未捕获的类型错误 : Cannot read property 'normal' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21034558/