ios - SCNParticleSystem 以错误的方式部分隐藏或遮挡
问题描述
我对粒子系统有疑问,在极少数情况下,它可能会以错误的方式被遮挡。您在打印屏幕上看到的粒子系统是一个球体(具有不可见材料,材料透明度 = 0.0),从其表面发射粒子。就像每秒 250 个粒子 - 没有魔法 - 粒子系统按应有的 99% 工作。
您还会看到一个直径非常大的地板(即 SCNPlane),例如 100m x 100m。当相机飞过并且视角发生一点变化时会发生遮挡,因为相机移动平稳。根据相机角度,它可能会发生 - 正如您在第二张图像中看到的那样 - 粒子系统以错误的方式被部分遮挡,就像它会留在地平线后面 - 但它不会 - 它在地板上方 2m 处徘徊并且有半径1m。
有没有人遇到过类似的问题?有没有什么办法可以在所有情况下(从所有视角)正确渲染。
有时粒子系统甚至完全消失。i.Ex 当相机从上方 (20m) 直接观察粒子系统时。
(场景使用 SceneKit 使用基于物理的渲染 - 背景是一个简单的天空盒)
解决方案
你问有没有人遇到过类似的问题?我可以回答是的!
根据视点(相机位置)和附加 SCNParticleSystem 的对象,我得到了发射粒子的奇怪遮挡。
我没有 SCNPlane,但我在场景周围有一个大的 SCNSphere,显示 360 度视频。如果我移除球体,则该错误不再发生。
这可能是 iOS 14.x 和 macOS 11.2 的回归,因为在 iOS 13.6.1 下运行的同一个应用程序没有显示问题!
推荐阅读
- omnet++ - OMNET++:如何根据概率向特定节点发送消息?
- powerbi - 在 PowerBI 中定义列随时间变化的报表
- php - 如何使 Laravel 6 授权检查 4 种不同的用户类型
- ggplot2 - ggplot中的闪避条形图 - 通过X轴定义颜色而不是填充
- minimum - 差分进化全局最小问题
- c++ - 读取二进制文件(is_open)
- jupyter-notebook - 在 Nbsphinx 的 .rst 文件中写入我的 Jupyter-notebook 文件名的位置
- r - 如何在 R 包说明的 Remotes 字段中包含包含空格的本地存储库?
- python - Xlsxwriter 模块适用于 Atom,但不适用于更复杂的程序
- ibm-cloud - 如何在 IBM Cloud 中部署节点红色应用程序?