2017-08-28 74 views
0

我有簡單的ARKit應用程序(使用SceneKit),在空間中浮動的立方體與其他物體一起拍攝。我使用Fire作爲模板創建了.scnp文件,並對其進行了自定義,使其看起來像爆炸一樣。Swift:如何使用SCNParticleSystem設置粒子效果的大小?

一切看起來不錯,適用於碰撞,但我的整個粒子效果需要整個屏幕。我嘗試了.scnp文件中的所有可用屬性,但大小仍然很大。

如何設置效果區域大小?例如略小於我的立方體(寬度爲0.1米)。

這是怎麼運行的爆炸:

let fire = SCNParticleSystem(named: "explosion.scnp", inDirectory: nil) 

contactNode.addParticleSystem(fire!) 

contactNode是我的目標立方體。

回答

1

您正在查找的粒子系統屬性是particleSize。 (有設置該屬性在Xcode粒子系統的GUI編輯器控制,但我忘記了它的標記......)

該屬性的文件說:

渲染的大小,單位場景的粒子圖像的世界座標空間。

在ARKit中,場景單位與真實世界的米相同。因此,在某些任意場景中,例如10x10的粒度可能是有意義的,而在AR中,每個粒子都是房屋的大小。您可能希望某個地方的值在毫米至釐米的範圍內(0.001 - 0.01)。

+0

謝謝,這實際上是我嘗試的第一件事情之一。它有點作用 - 粒子較小,但效果完全改變(而不是一次爆炸,我得到了像閃閃發光)。我通過改變所有可能的值最終通過反覆試驗解決了這個問題:-) – Filip

+0

是的,配置一個粒子系統的幾何尺寸的所有*都是基於計量的(尺寸,速度等),所以不幸的是,這並不容易一次配置一個粒子系統然後擴展整個事物的方法。 – rickster