向场景添加雾

时间:2016-10-11 17:58:16

标签: javascript three.js

我使用three.js(3d视觉编程javascript)为我的场景添加雾。这是一个太空场景。逻辑是,当相机移向太阳时,黄色的薄雾变浓,这就产生了一种错觉,即太空越近,太阳就越亮。当你离开它时,它恰恰相反。这实际上是必须添加两个雾,它们在我使用其中一个时都起作用,但从不同时起作用。

我试图创建一个条件语句,根据相机的位置确定要激活的雾,看到雾效果只有在相机接近1000时才可见(像素是吗?)或超出它。

此声明仅适用于雾状态#1而不适用于#2。我在这做错了什么?可能这是因为默认的camera.position.z已经在1000以内?那么我该如何使用当前位置而不是默认位置。在一个场景中有两个雾是否完全可行?

感谢。

if (camera.position.z < 1000) { 
  /* Fog condition #1:   the farther away, the darker it gets */
  var varColor = 0xffff00;
  var varNear = 800;
  var varFar = 5;
} else if (camera.position.z > 1000) {
  /* Fog condition #2:    the closer to the sun object, the lighter it gets */
  var varColor = 0x000000;
  var varNear = 50;
  var varFar = 7000;
}

scene.fog = new THREE.Fog( varColor, varNear, varFar);

0 个答案:

没有答案