【发布时间】:2015-05-19 18:03:57
【问题描述】:
使用three.js v71,我正在尝试添加meshphong材质并在添加材质上限后将其显示在屏幕上。当我尝试在 Chrome v42.0 (Linux) 上渲染它时,它工作正常。但是当我尝试在 Chrome v42.0 上运行它时,我收到指向库文件的错误
未捕获的类型错误:无法读取未定义的属性“长度”
当我在 Firefox DE (v39) 和 Firefox SE (v37) 上运行它并显示消息时,我在同一个地方收到错误
TypeError: a.defaultAttributeValues[h] 未定义
是不是因为 js 代码中的同步问题(将属性分配给未定义的对象)?以及它如何在 Linux 浏览器上正确呈现,而不是在其他平台上?
【问题讨论】:
-
纹理/模型的加载是异步的,因此在一台机器上可能有时间下载和使用资产,而在另一台机器上则没有。但是如果不显示任何代码,就很难说。贴出加载资源相关的代码。
-
@gaitat - 这是链接。 TIA。 --> gist.github.com/bizentass/…
-
controls.update()不是必需的。删除needsUpdate标志。为什么要设置两次材料?将相关代码粘贴到帖子正文中并链接到实时示例。不过首先要使用非缩小版的three.js进行调试,自己调试代码。 -
@WestLangley 感谢您提供有关使用非缩小代码进行调试的建议。这清楚地指出了问题。
标签: javascript three.js