THREE.EffectComposer.scene.addObject(THREE.EffectComposer.quad);没有方法'addObject'

时间:2012-08-03 10:20:00

标签: three.js

首先,在我问你一些新手问题之前,我要感谢MrDoob&对于所有这些好工作,我很高兴使用three.js。

但实际上,我正在尝试使用一些着色器和后置效果来渲染太阳系中的美丽太阳。为此,我从你的熔岩金牛座例子中激励了我自己。

当我在我的代码中调整它时,我得到以下JS错误:

Uncaught TypeError: Object [object Object] has no method 'addObject' EffectComposer.js:129
THREE.WebGLRenderer 49 Three.js:331
Uncaught TypeError: undefined is not a function BloomPass.js:27

第一个似乎是经典的js错误,但我找不到原因,代码似乎很好:

THREE.EffectComposer.scene = new THREE.Scene();
THREE.EffectComposer.scene.addObject( THREE.EffectComposer.quad );

第二点指出:

this.materialScreen = new THREE.MeshShaderMaterial( {

最后,我尝试使用您的示例代码而不修改它(我刚刚删除了代码中的统计信息部分)并且没有包含这两个文件(因为我没找到源代码):

<script src="js/Detector.js"></script>
<script src="js/Stats.js"></script>

我得到与effectComposer相关的第一个错误。

非常感谢,

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。首先,我没有正确的包含文件(我的年龄较大)。然后;我没有很好地构建我的代码而错过了几件事。

现在已经修复了,我实际上并不知道谁在你的例子Mr.Doob中做过熔岩金牛座,但着色器简直令人惊叹。

如果你想看看我的solarsystem:http://www.scgaming.eu/

我正在研究它,但我正在考虑如何优化它以及如何更好地编写代码