【问题标题】:THREE.EffectComposer.scene.addObject( THREE.EffectComposer.quad ); has no method 'addObject'三.EffectComposer.scene.addObject(三.EffectComposer.quad);没有方法'addObject'
【发布时间】:2012-08-04 04:28:42
【问题描述】:

首先,在我问你一些新手问题之前,我要感谢 MrDoob & co 所做的所有这些出色的工作,我很高兴使用 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( {

最后,我在没有修改的情况下尝试了您的示例代码(我只是删除了代码中的 stats 部分)并且没有包含这两个文件(因为我没有找到源代码):

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

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

非常感谢,

【问题讨论】:

    标签: three.js


    【解决方案1】:

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

    现在它已修复,实际上我不知道在 Doob 先生的示例中是谁制作了熔岩金牛座,但着色器简直令人惊叹。

    如果你想看看我的太阳系:http://www.scgaming.eu/

    我解决了,但我正在考虑如何优化它以及如何编写代码比它更好

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-03
      • 1970-01-01
      • 2020-05-22
      • 2013-09-17
      • 2015-10-02
      • 2012-11-06
      • 1970-01-01
      相关资源
      最近更新 更多