スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


このエントリーをはてなブックマークに追加

Particle Designer+OpenGLでゲームアプリのエフェクトを簡単作成

今回は、「Particle Designer」というソフトを使って、ゲームアプリ用のエフェクトを簡単に作成&実装する方法を紹介する。

ゲームなどで用いられる炎や光、水、煙などのエフェクトは、一般的に「パーティクル」と呼ばれる技法を使って描画される。パーティクルは、ポリゴンや曲面などでは表現できない形状を「粒子」の集合として描画する技法。

目的に合わせてパーティクルの動作をプログラミングしても構わないが、Particle Designerを使えばより簡単にエフェクトを作成できる。このソフトは、Mac用のシェアウェアで、基本的にはiPhoneアプリをターゲットとしている。(Androidアプリ等への流用も可能だと思うが)
シェアウェアといっても、7.99$と格安な上、保存機能以外は無料で利用できる。

ダウンロードは以下のページから(↓)
PARTICLE DESIGNER

Particle Designerを起動すると、下のような画面が表示される。
particle_designer1.jpgparticle_designer2.jpg


右のウィンドウからベースとなるエフェクトを選択すると、左側のウィンドウで動作を確認できる。さらに、雛形をダブルクリックすると、詳細なパラメータを設定することができる。
particle_designer4.jpg

編集が終了すると、Save Asを選択して、pexファイルに保存する。(cocos2dを使っている場合、ファイルフォーマットはplistを選択)

続いて、iPhoneアプリ側でこのファイルを利用できるようにする。
Particle Designerをダウンロードすると、pexファイルを読み込んで表示するデモプログラムが含まれているので、基本的にはこれを流用すれば良い。

念のため、自作のOpenGL ES1.1のプロジェクトに追加した際のメモを掲載しておく。
※OpenGLの初期化処理等は割愛

(1)フレームワーク/ライブラリを追加
以下のフレームワーク/ライブラリを追加する。
 ・QuartzCore.framework
 ・OpenGLES.framework
 ・libz.dylib
 ・AVFoundation.framework

(2)デモプログラムから必要ファイルをコピー
デモプログラムから以下のファイルをコピーしてプロジェクトに追加する。
 ・Structures.h
 ・Texture2D.h
 ・Texture2D.m
 ・Global.h
 ・ParticleEmitter.h
 ・ParticleEmitter.m
 ・TBXMLParticleAdditions.h
 ・TBXMLParticleAdditions.m
 ・TBXML.h
 ・TBXML.m
 ・NSDataAdditions.h
 ・NSDataAdditions.m

(3)作成したpexファイルをプロジェクトに追加

(4)パーティクルエミッターを初期化
ビューが表示されたタイミング等で、パーティクルを放出するためのクラスであるParticleEmitterクラスのインスタンスを生成する。

particle = [[ParticleEmitter alloc] initParticleEmitterWithFile:@"touch.pex"];



(5)位置を設定
パーティクルの位置を設定する。定期的に位置を変更すると、移動しながらパーティクルを出すこともできる。(花火を手で持って移動するようなイメージ)

particle.sourcePosition = Vector2fMake(unit.x, unit.y);


(6)表示データを更新
OpenGLのデータ更新イベントの処理の中で以下のメソッドを呼び出す。updateWithDeltaの第1パラメータは、データ更新処理のフレームレートを設定する。

[particle updateWithDelta:1.0f/30.0f];


(7)描画処理を実装
OpenGLの描画イベントの処理の中で以下のメソッドを呼び出す。データ更新と描画のタイミングが同じ場合は、(6)と同時に記述しても良い。

[particle renderParticles];


(8)解放処理を追加
必要に応じてparticleオブジェクトを解放する。私の場合、ARCを有効にしているので、解放は不要だった。

以上で実装完了だが、particleオブジェクトを再利用したい場合は、粒子の放出(という表現でいいのかな?)を止めたり再放出する処理が必要になる。デザインしたpexファイルの放出が完了すると、自動的にActiveプロパティがNOに切り替わるので、再放出する場合はYESに設定してやれば良い。また、再生が全て完了したかどうかを判断するためには、particleCount==0を判定してやれば良い。(ActiveがNOに変わっても、放出が止まっただけで、再生が完了した訳ではない)

少々デザインが貧弱でも、ちょっとしたエフェクトで豪華に見えたりする。デモプログラムを流用するだけのお手軽実装で爆発などの派手な演出ができるので、ゲームアプリの演出には非常に有効な手段だと思う。


このエントリーをはてなブックマークに追加

コメント

非公開コメント

iPhoneアプリ紹介
パズルナビ for パズドラ 2016
最強のコンボツール!
colorization-large-icon.png

スクリーンショットを読み込むとコンボを自動計算してくれるパズドラの攻略アプリです。


AirRuler
(簡易距離計)

リモートで簡単に距離を測定できるアプリ!
colorization-large-icon.png

目標地点に向けてiPhoneを傾けるだけで簡単に距離を測定できます。ゴルフの距離測定機能付きパターの代わりにも使えます。


補色残像アート
~見えない色が見えてくる~
白黒なのにカラーに見えてしまう不思議な映像を体験しよう!
colorization-large-icon.png

補色残像という目の錯覚を利用して、白黒写真がカラーに見える不思議な映像を作成できます。作成した映像は、アニメGIFに変換したり、Twitterに投稿することもできます。


タイピング革命
フリック練習はタイピング革命で!ネットランキングで盛り上がろう!
icon-l-typing.jpg

オンラインランキング上のプレイを閲覧できるリプレイ機能付き!フリック入力とローマ字入力に完全対応したタイピング練習アプリです。初心者も安心のトレーニングモード付き。

★なんと!あのAppBank様に紹介して頂きました!!
typing-sale-led.gif


簡単3Dカメラ
iPhoneで手軽に3D写真を楽しもう!平行法/交差法/アナグリフ/グラグラ3Dに対応。
icon-l-3d.jpg

2枚の写真を撮影するだけで、裸眼で立体視できる3D写真が作成できます。85円でステレオ写真もアナグリフも楽しめるのは簡単3Dカメラだけ!

プロフィール

あらきんぐ☆

Author:あらきんぐ☆
はじめまして。あらきんぐです。
4月からiPhoneを購入し、その魅力に取り付かれて、気がついたらアプリ開発の道へ!仕事でプログラム開発をしていますが、基本「動けばOK!」な適当エンジニアです。適当でもアプリは作れる!っていう事を、ブログを通じて証明していきたと思います。

最新記事
最新コメント
最新トラックバック
カテゴリ
FC2カウンター
全記事表示リンク

全ての記事を表示する

Twitter
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
アクセスランキング
[ジャンルランキング]
コンピュータ
372位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
61位
アクセスランキングを見る>>
オススメ商品
iPhone/iPodと一般オーディオを繋ぐ貴重なアイテム!
アプライドオリジナルアイテム MBB...

アプライドオリジナルアイテム MBB...
価格:3,980円(税込、送料別)

開発中級者にオススメ!「こんなことができるんだ!」と驚かされる一冊
【送料無料】iPhone...

【送料無料】iPhone...
価格:1,500円(税込、送料別)

安い!シンプル!カッコいい!
希少なiPhone対応キーボード内蔵ケース
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。