美好的一天,我正在使用 Babylon JS 玩 webgl,我需要有关灯光的建议。我创建了一个测试洞穴,并将火把 (BABYLON.PointLight) 放在一面墙上。但灯光也照亮了 Angular 落后面的墙壁。看截图:
var light = new BABYLON.PointLight("light1", new BABYLON.Vector3(x, y, z), scene);
light.intensity = 0.5
light.range = 50;
洞穴不是单个网格,而是由单独的矩形面组成。请问如何确保灯光不会照亮 Angular 落后面的墙壁?
提前谢谢您。沃伊泰克
最佳答案
正如所建议的,您可以为灯光添加阴影。显然,点光源的阴影已在 v2.3 中引入(请参阅 http://www.html5gamedevs.com/topic/18285-point-light-shadow-mapping/ )。另一件可以尝试的事情可能是将范围设置为较低的数字,以便光线不会到达后墙。像 yourLight.range = 0.5
这样的东西可能会起作用。
需要记住的一件事是场景中最多只能有 4 个灯光(这是确保性能的限制)。
关于javascript - 如何确保灯不会照亮 Angular 落后面的墙壁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34467540/