SceneKitのパーティクルを個々にフェードアウトさせる
SpriteKitのパーティクルにはアルファの加速度を設定できるプロパティがあり、そこにマイナス値を設定すればアルファでフェードアウトすることになる。(しかし、減速しつつアルファ値はフェードインして、速度が0になったところからフェードアウト、みたいな制御はできない)
で、SceneKitのパーティクルSCNParticleSystem を使う場合には、そういうプロパティが見当たらない。パーティクル全体をSCNActionでフェードアウトさせる実装をやったがそれでは嫌だとクライアントは言う。
Animate Color
addModifier(forProperties:at:modifier:) か、 propertyControllers を使えばパーティクル個々の細かい制御ができそうだが、あまりサンプルも出てこないしパフォーマンス的に負荷が高そう。
なんかもっと簡単にできる方法はないか、と思っていたら、Particle Editorの[Animate color] を有効にするだけでできた。
上の[Color]にはホワイトを指定することで、画像のオリジナルのカラーを使う、という意味になるようだった(ドキュメント未確認)
アルファブレンドの問題
最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/