0

我想了解为什么粒子系统呈现的粒子在相机四处观察/移动时会改变它们的比例。虽然必须根据 fov 缩放粒子以适应 3d 场景是可以的,但是我注意到一些我无法解释或理解的奇怪行为,我愿意分享一个显示我的问题的示例代码:

var w=640,h=640;

http://jsfiddle.net/JFQCM/2/

在此示例中,画布设置为 640x640,这使得粒子的呈现看起来几乎没问题,我在这里没有看到关于我的问题的问题,但是..

var w=640,h=360;

http://jsfiddle.net/JFQCM/1/

将视口的高度切换为 h=360 px(用于表示不同的监视器纵横比)粒子现在开始在我的眼前跳舞 在我看来,引擎使用某种错误计算的纵横比,导致它们的视觉外观打破 3D 场景构图。他们只是不再和红色矩形一起玩了,你明白吗?我找不到更好的词来解释它。

我的问题的第二部分是问,我可以做些什么来反对这种行为,意味着保持粒子在“视觉上稳定”的大小,就像在前面的例子中一样?

然而这个问题在某些情况下可能看起来并不有趣,我碰巧在这些粒子上放置了一些巨大的涂抹纹理来构建一个云系统,但是当相机移动和旋转时它们总是改变它们的大小和位置,它们'在我 16:10 的显示器上,我永远不会像这样看起来很现实。

我还注意到,当我更改透视相机的 fov 设置时,粒子将无法正确缩放,导致它们看起来更远/更近,但无论我设置什么 fov,它们都保持相同的大小。还有一个问题,当相机非常接近一个粒子时,它就会开始以一种非常奇怪的方式移出屏幕。

我相信这可能是一个错误;还是我只是在这里遗漏了什么?

4

0 回答 0