0

我有一段时间没有更新我的项目(它基于three.js库),当我最近更新时(使用three.min.js:修订版55)我收到以下错误:

通过以下行,我得到“未捕获的类型错误:未定义不是函数”

controls = new THREE.TrackballControls(camera, renderer.domElement);

和“未捕获的类型错误:无法读取未定义的属性 '0'”:

axe_b.geometry.materials[0].opacity = opacity;

我应该在这些行中更改什么以使其运行?

使用之前版本的three.js,上面的代码很好。

非常感谢。

4

2 回答 2

1

有关升级到当前版本的帮助,请参阅迁移 Wiki

TrackballControls.js现在是示例的一部分,必须明确添加。请参阅three.js 示例。

Materials不再属于Geometry.

三.js r.55

于 2013-01-30T15:36:06.843 回答
0

THREE.TrackballControls 不再是three.js 或three.min.js 的一部分。它现在位于 example/js/controls/TrackballControls.js 中,因此您需要在 HTML 的头部添加与此类似的内容。

<script type="text/javascript" src="https://raw.github.com/mrdoob/three.js/master/examples/js/controls/TrackballControls.js"></script>

材质位于网格中的一个名为 material 的变量中,因此您的材质现在可能位于

axe_b.material.materials[0].opacity = opacity;

或者

axe_b.material.opacity = opacity;

取决于您是为网格定义了材料列表还是仅定义了一种材料。

于 2013-01-30T15:40:19.450 回答