首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Three.js雾可以应用于区域而不是离相机的距离吗?

Three.js雾可以应用于区域而不是离相机的距离吗?
EN

Stack Overflow用户
提问于 2014-09-03 19:13:29
回答 1查看 1.4K关注 0票数 4

想象一个场景,其中有一个非常大的THREE.PlaneGeometry模拟地板,并且在场景中的任意位置添加了一个摄影机。

如果我手动调整雾的近处和远处的值,我可以以某种方式隐藏飞机的外部,使印象是无限的。到现在为止还好。

问题是,如果我让我的相机在场景中飞行到平面内的任意位置,会发生什么?如果随机点距离平面外部足够近,则雾不会遮蔽平面的末端,因为雾始终基于摄影机位置。

所以我的问题是,只有当你足够接近飞机的极限时,我们如何才能达到雾的效果?

EN

回答 1

Stack Overflow用户

发布于 2014-09-05 01:33:24

我对雾系统的工作原理没有足够深入的了解,所以如果有人能纠正我,那就太好了。

我猜雾只在相机上渲染,你不能将它应用于,比如说,一个对象,或者你也不能创建一个雾对象(例如,一个由雾产生的立方体),除非你使用着色器使对象看起来像“雾”,但是如果你进入这个对象,你将不能再看到雾(或者它将不会像预期的那样渲染)。

但是,您可以根据摄影机的位置动态更改雾渲染,距离中心越远,雾渲染的距离越接近摄影机。这很容易实现,只需做一个简单的减法(从平面中心到X的距离),其中X等于相机可以到达的最大距离。

在XY平面上到中心的距离也是很容易的事情,如果你把平面的中心定位在0,0,你就会自动知道相机所在的X和Y坐标。然后你可以只计算相对于X和Y轴的斜边(参见下面的gif)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25642885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档