2012-02-21 19 views
1

继承人我的代码:three.js所DAE模型是黑色或深色

http://jsfiddle.net/zsitro/gYhrY/(只是为了显示...犯规的小提琴作品)

它可以加载: - three.js所内置的平面立方体和一个灯.. - 模型(1立方体和步行生物)。

它一切都好,但问题是生物是几乎黑色(太暗),而立方体是全黑的。如果我移除光线,它会显示出它的纹理,而怪物则会更加明亮。 enter image description here

我找不到资源如何避免这个黑色的东西,让我的聚光灯工作。

聚光灯设置正确我认为,因为较低的立方体和轴线显示正常(并投射阴影如预期)。

如果我改用轻的方向 - >除了红色立方体没什么变化蒙上阴影再次如预期...

谁能帮助?

回答

0

正在应用什么样的材料?如图所示,然后查看内部结构并修改受光照影响的一些属性。

一些好地方,开始是

this.color = parameters.color 
this.ambient = parameters.ambient 
this.specular = parameters.specular 
this.shininess = parameters.shininess 

哪里,这是X型的材料。调整环境会增加基本亮度。

好吧,我看到它是MeshBasicMaterial。我会尝试将其更改为phong或lambert材质,并将环境值设置为大于默认值。

+0

谢谢。我会试试这个.. – zsitro 2012-03-14 07:56:35

0

看着你的小提琴,我认为主要问题是你正在观看的角度,以及你有一个聚光灯,但没有环境光的事实。尝试添加环境光如下,看看这是否有助于一些:

首先,你没有在你的聚光灯上设置一个浅色,所以它只是苛刻的白色,所以你会想要做的事情如下,这将帮助您:

scene.add(new THREE.AmbientLight(0x020202)); 

如果这仍然是太黑了,你可以试试:

scene.add(new THREE.AmbientLight(0x040404)); 

一旦你找到正确的平衡,你会被设置:)只记得你的环境光设置与0xrrggbb在十六进制中,所以如果你想把颜色中的所有东西都切成两半,就用0 20202,但是如果你想要更多的蓝色,那么你会使用020204,例如,只要记住它与你合作的环境光线,并且很容易在场景中过度饱和光线,所以保持低光线,我通常会坚持下去。 2 *我的点或定向光源(例如,阳光,灯,不管) 让我知道这是否有帮助:)