我正在使用SceneKit制作一个简单的ARKit应用程序,需要添加一些粒子效果。通常我可以创建一个SceneKit粒子文件,设计一些粒子效果,并像这样使用它
let smoke = SCNParticleSystem(named: "xxx.scnp", inDirectory: nil)!
let hole = SCNNode()
hole.addParticleSystem(smoke)
但是从Xcode12开始,我只能创建一个后缀为.sks
的SpritKit粒子文件。上面的代码无法再使用此文件。我是ARKit的新手。谁能告诉我如何将粒子效果集成到我的SceneKit项目中?非常感谢.
2条答案
按热度按时间7cwmlq891#
SpriteKit粒子实现
如果要在3D场景中使用2D粒子,有两种方法可以在SceneKit中显示SpriteKit场景。第一种方法是将SKScene指定为SceneKit几何体的材质:
第二种方法-将SKScene分配给SceneKit的虚拟环境。
SceneKit粒子实现
在SceneKit中使用粒子的常规方法是其原生粒子系统:
P. S.
还应该说几句关于弃用的预配置SceneKit的**
SCNP
**文件及其替换。如果你想设置像3D火灾这样的现象,最好的方法是在
Scene graph
中以非编程方式完成。为获得更好的效果,请使用具有不同参数的2个或3个粒子系统对象。为了更好地了解如何设置基于
png samples
(源)的3D火灾,打开Apple Motion应用程序的场景,应用粒子发射器并选择检查器选项卡。然后,尝试在SceneKit的场景图中实现具有相同外观的火灾。g6ll5ycj2#
出于某种未知原因,Apple从最近的XCode版本中删除了SCNP(SceneKit粒子文件)模板。
您有以下选项:
像这样:
然后在示例中配置所需的所有内容:myParticleSystem