SpriteKit パーティクルエミッタエディタ
カスタムシェーダの割り当てと構成
Shader オブジェクトは、SpriteKit 内のさまざまな種類のノードの描画動作をカスタマイズするために使用されます。カスタムシェーダ は、フラグメントシェーダファイルを使用して、パーティクルエミッタのレンダリングまたはフィルタリングを調整します。シェーダに均一な値を提供するには、SpriteKit パーティクルエミッタエディタ で均一なオブジェクトを作成します。
フラグメントシェーダのソースファイル (拡張子は .fsh) には、粒子への効果を作成するコードが含まれています。カスタムシェーダを使用して、そのコードをパーティクルエミッタに適用します。
Xcode プロジェクトにカスタムシェーダを追加する前に、Metal Shading Language Guide または OpenGL ESシェーディング言語 でフラグメントシェーダファイルを作成します。
- フラグメントシェーダソースファイルをプロジェクトに追加します。
- ナビゲータエリア でパーティクルエミッタファイルを選択します。
Xcode は SpriteKit パーティクルエミッタエディタを開きます。
- 属性インスペクタ を開いて下さい。
- カスタムシェーダポップアップメニューで、カスタムシェーダファイルを選択します。
Xcode は、.fsh ファイルからフラグメントシェーダのソースをロードすることにより、新しい SKShader オブジェクトを作成します。パーティクルエミッタの shader プロパティは、新しい SKShader オブジェクトを指します。
SKUniform オブジェクトは、カスタムシェーダと交換されるさまざまな型のデータを保持するために使用されます。Custom Shader Uniforms エリアでは、ソース内でユニフォームの値または型を宣言せずに、シェーダで使用するユニフォームを作成できます。
- Custom Shader Uniforms エリアの下部にあるプラス (+) ボタンをクリックします。
Xcode は、デフォルト値で新しいユニフォームオブジェクトを作成し、カスタムシェーダのユニフォームエリアに値を表示します。
- ユニフォームの名前を変更するには、現在の名前をクリックして新しい値を入力します。
重要:入力する名前は、フラグメントシェーダソースで使用されている名前と一致しなければなりません。
- 型 (Type) ポップアップメニューで、型を選択します。
使用可能な型は、SKUniformType 列挙型で説明されています。
- ユニフォームの値を変更するには、既存の値をクリックして新しい値を入力します。
以下も見よ
ユニフォームオブジェクトの作成と初期化
SKShader
SKEmitterNode
SpriteKit のドキュメントとリソース