【问题标题】:Three.js - Uncaught TypeError: Cannot read property 'normal' of undefinedThree.js - 未捕获的类型错误:无法读取未定义的属性“正常”
【发布时间】:2014-01-28 20:24:14
【问题描述】:

我收到以下错误

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

【问题讨论】:

  • 代码中的“正常”在哪里?
  • 我的代码中没有“正常”。我认为这是 TextGeometry 的属性之一的默认值。
  • 法线是几何体每个面的属性。每个面都有三个顶点,每个顶点都有一个关联的法线或一个法线定义。该错误表明没有为几何体生成面。

标签: javascript three.js geometry typeerror


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-10-01
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 2015-01-06
    • 2017-07-26
    • 2019-02-26
    相关资源
    最近更新 更多