【发布时间】:2013-08-27 18:14:32
【问题描述】:
考虑一下这个简单的房子 3d 模型。它有一个简单的立方体展开,应用了一些平铺纹理。
当我在它前面添加点光源时,房子看起来很正常,但是周围的地面(它是大型地形网格的一部分)没有被照亮。
在房屋网格内部,照明应用很有趣,以某种方式与顶点相关,而不是正确计算和添加颜色。请注意光照分布不均匀,但您实际上可以在那里看到一个多边形:
我认为这就是巨大的地形网格忽略光线的原因,因为多边形非常巨大,只有几个顶点。似乎灯光需要附近有一个顶点才能显示出来。
这是没有灯光的巨大地形网格的一部分:
我加了一个灯:
请注意灯光位置不是直接靠近顶点:
当我将灯光靠近顶点时,效果突然变得超级强烈
当我把灯放在中间时,几乎没有效果
无论模型的大小和顶点的数量如何,我怎样才能让我的模型到处都有光?
【问题讨论】:
-
在底部图像中,地形是否平坦?
-
您能否提供一个简单示例的实时链接?此行为是
MeshLambertMaterial的症状。你用的是这个吗? -
@WestLangley 是的,我正在使用 MeshLambertMaterial!我应该改用什么?
-
@a.lasram 很抱歉造成混乱,最后的图像是大型搅拌机猴子头的眼睛(测试...),并且头部指向地平线
-
@Nick 在你的情况下,你应该使用
MeshPhongMaterial。
标签: three.js webgl vertex lighting