如何制作一个非常大的天空盒? (babylon.js)

时间:2016-02-14 01:11:28

标签: babylonjs skybox

如何制作一个非常大的天空盒?

示例:

var skybox = BABYLON.Mesh.CreateBox("skyBox", 15000.0, this.scene);

结果很糟糕: enter image description here

2 个答案:

答案 0 :(得分:1)

我建议的第一件事是减少宇宙飞船和行星模型的比例因子。似乎SkyBox尺寸大于10000会导致Skybox在特定摄像机角度和距离处出现难看的纹理接缝/撕裂。因此,如果可能的话,尽量减少一切,以便在Skybox周边的范围内腾出更多空间。

接下来尝试此操作:设置.infiniteDistance = true以使Skybox远离相机,并在Skybox上设置.renderingGroupId = 0。最后,在所有模型和对象上设置.renderingGroupId = 1或更多,以帮助阻止它们消失在中。

var skybox = BABYLON.MeshBuilder.CreateBox("skyBox", {size:10000.0}, 
this.scene);
skybox.infiniteDistance = true;
skybox.renderingGroupId = 0;

...以及模型和精灵对象......

myModel.renderingGroupId = 1; /* greater than 0 */

这些小技巧帮助我实现了规模化的太阳系模拟,但可能并不适用于所有情况。

答案 1 :(得分:0)

您好,您需要将camera.maxZ增加到大于天空盒的值。