前回の記事「liquidFunとSpriteKitで流体を使う」でLiquidFunのパーティクルを使ってみました。
今回はそのパーティクルの見せる処理をちょっと変えてみます。
前回はパーティクルの表示に使っていたSKShapeNode
の代わりに、SKEmitterNode
というSpriteKitのパーティクルを出すノードがありますので、これを利用して、より水っぽく見せてみます。
SpriteKitパーティクルの生成
まず、パーティクルを作ります。
それには、File → New → File… からResource → SpriteKit Particle Fileを選択します。
続いて、作成するパーティクルのテンプレートを指定します。今回はSparkを選択。
ファイル名はwater.sksにして保存したあと、Project Navigatorからこのwater.sksを開くと、次のようなパーティクルエディタが起動します。
今回は右のパラメータを調整して、こんな風にしました。左にぼやっと見えているだけです。これだけだと非常に地味ですが、これを何個も生成するのでそれっぽく見えてきます。
あとは、前回パーティクル生成時にSKShapeNode
を使っていた個所を次のコードに書きかえるだけです。
SKEmitterNode* node = [NSKeyedUnarchiver unarchiveObjectWithFile:[NSBundle.mainBundle pathForResource:@"water" ofType:@"sks"]];
以上で、コンパイルするとSKEmitterNode
が使われて見ためが変わっているはずです。
例えば、前回のwaterは次のようになります。
また、前回のelasticは次のようになります。よりスライムっぽくてなんだか気持ちわるいですね。
おわりに
パーティクルのパラメータを変えることで、いろいろな見ためが表現できたりするみたいなので、いろいろ変えてみるとよいかもしれません。
また、今回のソースをGitHubに上げていますので、そちらも参照ください。
以上で、今回のliquidfunシリーズは一旦終了です。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。