【发布时间】:2014-10-27 20:52:01
【问题描述】:
想象一个场景,您有一个非常大的 THREE.PlaneGeometry 来模拟地板,并且您在随机位置添加了一个相机。
如果我手动调整雾的近距和远距值,我可以以某种方式隐藏飞机的外部,从而产生无限的印象。 到目前为止,一切顺利。
问题是,如果我让我的相机在场景中飞到飞机内的随机位置怎么办?如果随机点离飞机的外侧足够近,雾就不会掩盖飞机的末端,因为雾总是基于相机的位置。
所以我的问题是,只有当你足够接近飞机的极限时,我们才能实现雾效果?
【问题讨论】:
-
这是一个jsfiddle 来说明我的想法。
-
用你的相机移动飞机怎么样,这样相机总是在飞机的中心?
-
如果我这样做,虽然相机和飞机在移动,但就像什么都没发生一样对吗?它的目的是让它看起来像你在一个地形上飞行,但如果你超出界限,你就会进入一个“雾”区域。我想创建一个 PointCloud 粒子系统,离场景原点越远,粒子系统就越密集……但这在 GPU 上太多了,对吧?
-
您的地形几何体或材质可能会重复(或者您可以使其无缝),因此如果相机离原点太远,您可以将地形几何体移动重复图案的倍数。
-
我已经在这样做并在移动时交换纹理,但我确实有有限数量的纹理可以制作更大的图像。图片谷歌地图例如。它只是围绕中心点的半径,您可以在其中飞过。无论如何,我认为我的问题得到了否定 :) 只是远近都可以在雾中改变。感谢所有建议。
标签: javascript three.js