Three.js - 未捕获的TypeError:无法读取未定义的属性“normal”

时间:2014-01-10 01:23:03

标签: javascript three.js geometry typeerror

我收到以下错误

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源代码文件。有办法解决这个问题吗? 感谢

1 个答案:

答案 0 :(得分:7)

我遇到了同样的问题,你应该下载一个字体让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