1

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

例子:

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

结果很糟糕: 在此处输入图像描述

4

2 回答 2

1

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

接下来试试这个:设置.infiniteDistance = true让 Skybox 远离相机,同时设置.renderingGroupId = 0在 Skybox 上。最后,.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 */

这些小技巧帮助我实现了按比例计算的太阳系模拟,但可能并非在所有情况下都有效。

于 2017-09-01T00:19:43.900 回答
0

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

于 2016-02-14T22:51:27.920 回答