0

我对粒子系统有疑问,在极少数情况下,它可能会以错误的方式被遮挡。您在打印屏幕上看到的粒子系统是一个球体(具有不可见材料,材料透明度 = 0.0),从其表面发射粒子。就像每秒 250 个粒子 - 没有魔法 - 粒子系统按应有的 99% 工作。

您还会看到一个直径非常大的地板(即 SCNPlane),例如 100m x 100m。当相机飞过并且视角发生一点变化时会发生遮挡,因为相机移动平稳。根据相机角度,它可能会发生 - 正如您在第二张图像中看到的那样 - 粒子系统以错误的方式被部分遮挡,就像它会留在地平线后面 - 但它不会 - 它在地板上方 2m 处徘徊并且有半径1m。

有没有人遇到过类似的问题?有没有什么办法可以在所有情况下(从所有视角)正确渲染。

有时粒子系统甚至完全消失。i.Ex 当相机从上方 (20m) 直接观察粒子系统时。

良好的粒子系统 坏粒子系统

(场景使用 SceneKit 使用基于物理的渲染 - 背景是一个简单的天空盒)

4

2 回答 2

0

你问有没有人遇到过类似的问题?我可以回答是的!

根据视点(相机位置)和附加 SCNParticleSystem 的对象,我得到了发射粒子的奇怪遮挡。

我没有 SCNPlane,但我在场景周围有一个大的 SCNSphere,显示 360 度视频。如果我移除球体,则该错误不再发生。

这可能是 iOS 14.x 和 macOS 11.2 的回归,因为在 iOS 13.6.1 下运行的同一个应用程序没有显示问题!

于 2021-04-15T23:02:56.523 回答
0

如果有人需要。我有类似的问题,并试图设置粒子系统的不同设置一段时间。解决方案之一是增加包含粒子的节点的“渲染顺序”,但如果更改相机方向,粒子就会消失。偶然地,我发现当我将特定节点添加到场景中时会发生错误。我发现的一个区别是,这个节点的材质具有透明模式“双层”。我试过这个来制作透明的纹理。我将模式更改为“默认”,它有所帮助。 Xcode 屏幕

于 2022-01-25T21:20:46.657 回答