30
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SpriteKitで使用できるパーティクルのパラメータ一覧

Last updated at Posted at 2014-05-21

iOS7から使用できるParticle Emitter Editorが
SpriteKitで使えるパーティクルをXcodeで確認しながら簡単に作れそうで、
便利そうだったので今のうちにまとめておく。
とりあえず、メモ程度に。
(気が向いたら、画像とかも使って書こうかな^^;

これを書いてる環境はXcode5.1.1なので、
Xcodeのバージョンが変わると、以下の表記も変わるかもしれないです。

#パーティクルファイルの生成とParticleEmitterEditorの表示
パーティクル用のファイルは
「NewFile」>「Resource」>「SpriteKitParticleFile」>好きなテンプレート
これで「~.sks」というパーティクル用のファイルが作成される。

このパーティクル用のファイルを選択し、
Xcode右側に出てくる「Utilities」を開いて、
立方体みたいなボタン(?)を選択するとインスペクタが表示される。

#Emitter Node

##Background
シュミレータの背景色


##PartuckeTexture
パーティクルで使用するテクスチャ(プロジェクト内に含まれている画像ファイルを選択可能)
SKEmitterNode.particleTexture


##Particles
パーティクル発生パラメータ

Birthrate:パーティクルが作成される速度
SKEmitterNode.particleBirtshRate
Maximum:一度に表示可能な最大数(0の場合は、制限なし)
SKEmitterNode.numParticlesToEmit


##Lifetime
パーティクルの寿命

Start:パーティクルを生成してから消えるまでの時間
SKEmitterNode.particleLifetime
Range:消えるまでの乱数範囲
SKEmitterNode.particleLifetimeRange


##PositionRange
パーティクルが生成される座標の範囲
SKEmitterNode.particlePositionRange

X:x方向の範囲
Y:y方向の範囲

##Angle
パーティクルが放射される向き(度)

Start:パーティクル作成時に放射される向き
SKEmitterNode.emissionAngle
Range:放射される向きの乱数範囲
SKEmitterNode.emissionAngleRange

##Speed
パーティクルが放射されるスピード

Start:パーティクル作成時の放射スピード
SKEmitterNode.particleSpeed
Range:放射スピードの乱数範囲
SKEmitterNode.particleSpeedRange

##Acceleration
パーティクルの加速値(重力係数など、すべてに一様に適用される)

X:x方向の加速
SKEmitterNode.xAcceleration
Y:y方向の加速
SKEmitterNode.yAcceleration


##Alpha
パーティクルの透明度

Start:パーティクル作成時の透明度
SKEmitterNode.particleAlpha
Range:透明度の乱数範囲
SKEmitterNode.particleAlphaRange
Speed:透明度に加算されていく値
SKEmitterNode.particleAlphaSpeed


##Scale
パーティクルの拡大率

Start:パーティクル作成時の拡大率
SKEmitterNode.particleScale
Range:拡大率の乱数範囲
SKEmitterNode.particleScaleRange
Speed:拡大率に加算されていく値
SKEmitterNode.particleScaleSpeed


##Rotation
パーティクルの角度(度)

Start:パーティクル作成時の角度
SKEmitterNode.particleRotation
Range:角度の乱数範囲
SKEmitterNode.particleRotationRange
Speed:角度に加算されていく値
SKEmitterNode.particleRotationSpeed


##ColorBlend
色の合成値

Factor:パーティクルの寿命までの「ColorRamp」の位置
SKEmitterNode.particleBlendFactor
Range:「Factor」の乱数範囲
SKEmitterNode.particleBlendFactorRange
Speed:色の合成値に加算されていく値
SKEmitterNode.particleBlendFactorSpeed


##ColorRamp
色の度合い
パーティクル生成時に左端の色から開始し、
「ColorBlend」の「Factor」の割合まで色が変化する
バーをクリックで色を追加し、
色が追加された部分を下にドラッグすることで削除
SKEmitterNode.particleColorSequence


##BlendMode
ブレンドモードの選択
SKEmitterNode.particleBlendMode

  • Alpha:透明度のみ
  • Add:色の加算(画像の黒い部分ほど、背景色が出る)
  • Subtract:色の減算(画像の白い部分ほど結果は黒くなる)
  • Multiply:色の乗算(一般的に暗くなる)
  • MultiplyX2:色の乗算(Multiplyよりも暗くなる)
  • Screen:スクリーン処理(一般的に明るくなる)
  • Replace:パーティクルの色のみを使用

表示時は以下のようなコードで表示ができる。

MyScene.m
NSString *path = [[NSBundle mainBundle] pathForResource:@"ファイル名" ofType:@"sks"];
SKEmitterNode *node = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
node.position = CGPointMake(x位置, y位置);
[self addChild:node];

※ソースコード上で呼び出す際のメソッドも追記

上記のほかにも、インスタンスから直接呼び出せるパラメータもあるので
それらは随時追記。

(この辺を使って、cocos2d-xで読み込めるファイルへのコンバータとか作ってみようかな・・・という妄想中。

参考:https://developer.apple.com/library/mac/documentation/IDEs/Conceptual/xcode_guide-particle_emitter/xcode_guide-particle_emitter.pdf

30
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?