Skybox vs Skysphere

时间:2010-10-12 06:42:36

标签: 3d

两者之间有什么优点和缺点。特别是像3D游戏这样的东西。

5 个答案:

答案 0 :(得分:9)

Skyboxes和skyspheres在某种意义上几乎是相同的,你将获得相同的视觉效果 - 即一个看起来很远的漂亮背景。

但是我通常推荐使用天空盒,原因如下:

  • 需要更少的多边形
  • 假设你正确设置了投影矩阵,你不能说你在一个盒子里面(如果你弄错了,你可能会看到一些扭曲)
  • 渲染方形天空盒图像(每个尺寸方向一个)更容易

关于最后一点,通过创建90度视野,例如,可以很容易地配置渲染器以生成完全适合天空盒的光线跟踪方形图像。在POVRay中,您可以使用以下内容:

camera {
   right -x
   up y
   direction -z
   location 0
}

我通常使用1024 * 1024或2048 * 2048方形纹理。

我可以想到使用一个skysphere的一个好理由是,如果你使用某种程序纹理方法,需要在(大约)单位球面上的点生成。我认为这是一个非常特殊的情况,并且对于大多数游戏应用来说不太可能。

答案 1 :(得分:3)

为skybox制作纹理更容易。多边形数量也会更小(但今天的卡片可以忽略不计)。

skybox的唯一问题是在某些条件下可能会看到立方体的边缘。

另一个有所作为的方面:

  • skybox永远不会与几何体碰撞 - 图像仅从另一台与用户相机一起旋转的相机投射,并且“卡在盒子里”
  • 如果是skysphere,背景会直接渲染(玩家可以“撞到天空”)

一个很好的描述和OpenGL示例是here

答案 2 :(得分:3)

一个skysphere也非常酷,因为你可以使用任何墨卡托投影贴图来纹理它,它根本没有失真。

答案 3 :(得分:1)

天空盒的另一个优点是能够为它们使用立方体贴图 - 另一方面,球体贴图不是硬件加速的(afaik)。

答案 4 :(得分:1)

当您使用天空盒时,您很可能会使用盒子纹理。该纹理也可用于反射材料。 Skyphere纹理在这里并不容易使用。