0

首先,在我问你一些新手问题之前,我要感谢 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( {

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

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

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

非常感谢,

4

1 回答 1

0

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

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

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

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

于 2012-08-03T20:28:42.033 回答