我想了解为什么粒子系统呈现的粒子在相机看起来/移动时会改变它们的比例。虽然可以根据fov缩放粒子以适应3d场景,但是我注意到一些我无法解释或理解的奇怪行为,我愿意分享一个显示我问题的示例代码:
var w=640,h=640;
在这个示例中,画布设置为640x640,这使得粒子的演示看起来几乎没问题,我没有看到关于我的问题的问题,但是..
var w=640,h=360;
将视口的高度切换为h = 360 px(用于表示不同的显示器宽高比)粒子现在开始向我的眼睛跳舞,在我看来,引擎使用某种错误计算的宽高比,导致他们的视觉外观打破了3d场景组成。你看,它们再也不能与红色矩形搭配得很好了吗?我找不到更好的解释词。
我的问题的第二部分是问,我可以做任何反对这种行为的事情,意味着将粒子保持在“视觉上稳定”的大小,如上例所示吗?
然而,在某些情况下,这个问题可能看起来并不有趣,我碰巧在这些粒子上放置了一些巨大的模糊纹理来构建云系统,但是当相机移动和旋转时,它们总是会改变它们的大小和位置,在我16:10的显示器上,他们永远不会像我这样看起来很逼真。
我还注意到,当我更改透视摄像机的fov设置时,粒子将无法正确缩放,导致它们看起来更远/更接近,但无论我设置的是什么,它们都保持相同的大小。另一个问题是,当相机非常接近粒子时,它会以非常奇怪的方式开始移出屏幕。
我相信这可能是一个错误;或者我在这里错过了什么?