投稿記事

パーティクルの記事 (32)

[講座]マップをエフェクト・パーティクルで盛って見映えさせよう!

追記<1/20>

記事内で紹介しているブレンドモード「オーバーレイ」を使用した演出がツクールMZでは動作負荷が高く、特にスマートフォンや低スペックPCではFPSを落とす原因となるため非推奨とさせて頂きました。

オーバーレイに関する検証や、対応方法を別記事にまとめてますのでご一読ください。



ハロー、プレミアムツクールデー!

先月のマップ制作RTA動画に引き続き、今月は出来上がったマップに2分20秒のTwitter動画の尺でエフェクトを盛っていく動画を作ってみました!

RPGを作り始めてから長らく、

「神マップが作れずとも、手軽に映えさせたい!」

という目標をゆるく追いかけてきましたが、


パーティクルプラグインのプリセットを充実させたり、自動装飾プラグインのクラファン開発にかこつけてポストエフェクト系プラグインを開発し、

クオリティ手軽さの両面において、

ひとまずの自分で納得できる水準を超えることができました!


ポストエフェクトはマップを手軽に盛れるだけでなく、



同じマップでもガラッとイメージを変えることができます!




いくら神クオリティのFSM系タイルとはいえ私みたいな凡マップスキルで組むと、

どうしても代わり映えしないマップに陥りがちです…

(上手い人が組むと、色彩が統一されて美しかったり、構図がダイナミックだったり、細かな遊び心が詰め込められたりとすごいですよね👀)


マップ自体はセオリーに従って組み、パーティクルやポストエフェクトで個性やバリエーションをつけられるのは私向きですごいお得感です!


この記事では自作プラグインの宣伝もとい紹介をしつつ、他所様のプラグインも含めて

マップ画面にどんなエフェクト・演出を活用できるか広く紹介していこうと思います!

(記事内で他サイト様の素材ページを紹介してますが、必ず素材の利用規約を確認した上で利用させてもらいましょう!)


ちなみに、最近はプラグインを自作してばかりで他プラグイン作者様の新しいプラグインなどは存じておりません…!

何か使いやすいプラグインなどあればコメントで教えてもらえると嬉しいです!



フィルター系プラグイン

画面作りの本丸!

マップ全体に色補正・ブルームなどのフィルターをかけて雰囲気を大胆に変えます。
(※負荷が重めのフィルターもあるので安易な重ねすぎにはご注意を!)

FilterControllerプラグイン<ツキミ様>

フィルタープラグインといえばツキミ様のFilterControllerプラグイン。

PIXi用のフィルターライブラリpixi-filter.jsに含まれるほとんどのフィルター機能をこれ1つで呼び出し&操作することが可能です!

ただし、マップごとにフィルターのパラメータ設定をするのは少し大変です。

マップの色味など補正するには後述のプラグインがおすすめですが、リッチな日差しエフェクトを簡単につけられるGodrayフィルターやその他のグリッチやノイズなど特殊なフィルターを使うにはこのプラグインの出番です!

他にも用途は広いのでとりあえず入れておいて間違いなし!


ジオラマ風の撮影効果プラグイン<lriki様>

マップの画面作りのためのフィルターエフェクトを盛り込んだ革命児!


* GitHub:lriki/LN_FilmicFilter

「色の補正」
「ブルーム(明るい部分をぼんやり輝かせる補正)」
「チルトシフト(画面上下をぼかす)」
「ビネット(画面のフチを暗くする)」

の4つのフィルターをまとめて設定・適応することができ、
これ1つで画面クオリティをグッと上げることができる神プラグインですね!

統合された1つのフィルターで処理を行っているため動作も軽量です!


私も当初はこのプラグインのお世話になる予定だったのですが、若干用途が合わなかったため単純に4つのフィルターを適用・編集可能なプラグインを自作しました↓


TRP_MapFilter

上述のジオラマ風プラグインに触発され、自分用に使いやすいよう自作したプラグイン。

準公式ライブラリ「pixi-filter.js」に含まれる「色補正」「ブルーム」「チルトシフト」に加えて自作の「ビネット」をまとめて編集・適用できます。

色補正

彩度・コントラストの調整やRGB補正など行えます。
全体の色彩を揃えたい場合は、彩度を抑えつつRGBを調整するといい感じです…たぶん!

ブルーム

明るい部分をさらに明るく&ぼかして輝かせます。

  • しきい値:ブルームを適用する明るさの範囲。0.1だと明るさ10%~100%部分、0.9だと90%~100%の部分まで適用、といったイメージ
  • スケール:明るくさせる強さ
  • ぼかし:ぼかす強さ

わりと負荷が重めのフィルターかも。必要なければCtrl+DでOFFにしましょう。

チルトシフト

画面上下に行くほど強まるグラデーション状のぼかしをつけます。

  • ぼかし:ぼかす強さ
  • グラデ幅:だんだんぼかせる幅。基本は画面高さの半分
  • Y座標:ぼかしグラデーションの中央となるY座標。高さ固定の横スクロールマップなどではキャラ位置に合わせるといいでしょう。

これも負荷が重めのフィルター。必要なければCtrl+DでOFFにしましょう。

ビネット

画面四隅を暗くします。

  • サイズ:ビネットの大きさ。大きいほど暗くなる範囲が大きくなります。
  • アルファ:ビネットの透明度
  • ぼかし:ビネットの境界をぼかす強さ。

ツクールの見下ろしマップは画面の上下左右が均質でメリハリがつけづらいです。

チルトシフトもそうですが、画面の上下や四隅を制限することで画面にメリハリがつき、また、自キャラがいる画面中央に視線を誘導することで没入感が高まる……気がします!


ビネットは負荷も低いので、薄っすらでもかけておくと雰囲気が出るかも?

ただし、かけすぎると画面全体が暗い雰囲気になるので注意。
(洞窟などでの視界制限に使っても○)

プラグイン販売ページ

TRP_MapFilterは「マップ自動装飾プラグイン」クラウドファンディングのブースト用プラン「限定プラグインセットプラン」に含まれています。


ビネットに関しては、後述のパーティクルプラグインでリング状に黒いもやもやパーティクルを出すことでそれっぽい使い方も可能です。

過去の回想・夢の中・闇系のダンジョンなどで使うと面白いかも?
(↓街背景が表示された際に、四隅に黒いもやもやを表示)
https://twitter.com/thiropGames/status/1605534465807175680




フォグ・テクスチャ系プラグイン

フォグプラグイン

霧・雲・日差しなどの画像を上から重ねることで情報量を増やしてクオリティアップ!


(↑ぴぽや倉庫様のフォグ画像素材ページ)

MVではgentlawk様のマップフォグプラグインをお借りしてました。


…MZではどれが主流かは不明です🙇‍♂️

ググってみた感じ、Victor Sant様のFog and Overlayプラグインなどいくつか同様とのプラグインがありそうです。


フォグ画像素材

フォグプラグインにはフォグ画像が必須です!

ぴぽや様が質・量ともに豊富なフォグ画像素材を配布されてるので、手持ちの素材がない場合は利用規約を確認した上でお借りしてみるといいでしょう!


フォグテクスチャプラグイン

追記)ブレンドオード「オーバーレイ」がMZの低スペック・スマホ向けで非推奨としました。その関係でここで紹介している旧フロアテクスチャプラグインは、フォグ全般を扱うフォグプラグインに新生しました。負荷高めとなりますがここで紹介しているテクスチャ用途のオーバーレイ表示も可能です。


フォグプラグインを使ってると、雑に重ねるだけで画面に濃淡ができてそれっぽく見えるので手放せなくなるでしょう。

ただ、画像を調整するのが面倒で、結局アルファを上下させるくらいでワンパターンに陥りがち…。

そして思いました。

「濃淡で情報量を増やしたいだけなら重ねる画像はフォトショのあれでいいんじゃ?」

「ガンマやコントラストを調整すれば濃淡の分布を調整できるし」

「拡大率を変えれば濃淡の密度も調整できる!」

「おまけに縦に潰せば霧っぽくもなりそう」

というわけで作ってみたのが「フロアテクスチャプラグイン」です。


テクスチャ画像の表示・パラメータ設定を一体的に行うことができます!

加算で霧っぽく重ねたりオーバーレイで雑にマップに濃淡をつけるのが強力です!
(※オーバーレイはMZの場合は要コアスクリプトver1.6.0以上)


このプラグインも「マップ自動装飾プラグイン」クラウドファンディングのブースト用プラン「限定プラグインセットプラン」に含まれています。

また、使い方の解説ページもあるので気になる方はご覧ください!

追記:フォグ機能

同プラグインで、フォグ全般を扱えるようになりました!

スクロール関連のフォグ用パラメータが追加され、また複数のフォグを切り替えながら設定できるようになりました。

オリジナルな機能として、スクロール付随率を変更したり独自のTilingスプライトを使用可能です。
https://twitter.com/thiropGames/status/1616407301849776130



パーティクルプラグインの併用

後述のパーティクルプラグインでも"フォグっぽい"使い方ができます。

ゆっくりしたスピードで長く画面にとどまるパーティクルでフォグっぽく使えるのですが、「画面端で使い回すループ設定」が必要だったり画面をうまるのに時間がかかるため「時間を先送りするコマンド」が必要で少し上級者向けです。



天候・パーティクル系プラグイン

天候プラグイン:MOG_ExWeather

言わずと知れたMoghuter様の神プラグイン!
バリエーション豊かな天候系のパーティクルを表示できます。

https://twitter.com/moghunter1/status/1299410052986613760

天候エフェクトプラグイン:AO

さきほど調べて見つけたAO様の天候エフェクトプラグイン。
雷がライティングと連動してたりと、かなりユニーク!

https://twitter.com/AoNbti/status/1239882809847599106


パーティクルプラグイン「TRP_ParticleMZ」

ここまでも何度か名前を上げてる自作のパーティクルプラグイン。Boothなどで販売中!

  • すぐに使える豊富なプリセットデータと画像素材
  • イベント・画面固定・天候・リージョンなどなど豊富な表示対象
  • テストプレイで見ながら編集できるエディタ

などなど、今では自分の代表的なプラグインとなってます!
追加プリセットデータ集も販売しているので、本体内臓のプリセットだけじゃ物足りなくなったら見てみてください!

↓プリセットなどを紹介。もちろんパーティクルの動きを自作したり細かく調整もできるので、操作に慣れてきたらいろいろいじってみてください!

漂う光系プリセット

「どんなマップだろうと光パーティクルを漂わせればそれっぽく見えるのでは?」

という実に安易なアイデアで11テーマ32種のプリセットを用意してます!
https://twitter.com/thiropGames/status/1557572682363072512

実際には何も考えずに表示させちゃうと、くどくなりがちなので注意!
(動画映え意識してることもあって、パーティクルがまだ大きい感じがあるので小さめに編集&調整するといいかも)

天候系プリセット

霧や雲といったフォグっぽい使い方は紹介済みなので、それ以外のプリセット例を紹介!

雨・雷

日差し

その他プリセット

  • 星空・流星・花火など遠景への表示
  • 炎・煙といったイベントへの表示
  • 土煙・水しぶきなど地形に合わせた歩行エフェクト

などなど、凝りだしたらわりと何でもできてしまうので、プリセットをうまく活用して程よく手抜きしてみてください!


オブジェクト・イベント画像

ポストエフェクトではありませんがイベントなどで光や影の画像を配置したり、マップ上に動く物体・動物を配置することでマップのクオリティや情報量を増やすことができます。

ボリュームライト/木の葉っぱの影

薄暗いマップに差し込むボリュームライト(目に見える光・光線など)はそのコントラストから間違いなく目を引くアクセントになるはず!

ボリュームライトを入れるためにあえて少し暗めの色調にしてみたり暗い物陰を確保してみたりするのも全然ありでしょう!

追記)↑はブレンドモード「オーバーレイ」を使用しています。前述の通りツクールMZかつスマホ・低スペックでは非推奨です。代わりに加算表示をすれば、雰囲気は変わりますが温かみのある日差しのように表示できると思います。


また、屋外の木が生えてるマップでは「木の葉っぱの影画像」がおすすめ!

というより、影を配置するために街路樹でもなんでも木を生やそう!(本末転倒)

(ボリューム光もですが、こういう配置するだけで見映えがよくなるっぽい画像って他になにか無いですかね?🤔)


キャラクターグラフィック表示拡張プラグイン<トリアコンタン様>

イベントに画像を設定してそのまま表示させるより、角度や拡大率を大雑把にでも調整したほうがより違和感なくとけこませるられます。

トリアコンタン様のキャラクターグラフィック表示拡張プラグインではイベントのメモ欄で簡単に設定できるのでおすすめ!

自動装飾プラグインxマップオブジェクトプラグイン

マップ自動装飾プラグインとマップオブジェクトプラグインを組み合わせて使用すると、テストプレイの編集モードで表示を確認しながら

  • 不透明度
  • 角度
  • 拡大率

など調整して配置することができて簡単です。

↓の記事で詳しい使い方など解説してます。


両プラグインとも現在は「マップ自動装飾プラグイン」のクラウドファンディングで入手可能です。

クラファン終了後(~1/31)はBoothにて販売予定ですが時期は未定です。
(クラファンの各プランは先行販売価格のためBoothでは若干の値上げになります。)


揺れる草木

揺れる草木は植物が生えてるある外観マップならどこでも配置できるので使い勝手が良いです!

揺れる草花のキャラ画像素材<白黒洋菓子店>

揺れる草花のキャラ画像素材が白黒洋菓子店様にて配布されてます。
非暗号化での利用などできませんが、利用規約を確認してお借りしてみましょう!

マップオブジェクトプラグイン

前述のマップオブジェクトプラグインには、オブジェクトをアニメーションさせる機能がついてます。

Skew回転させることで揺れてるように見せることもできるので、アニメーション画像を用意できない場合におすすめ!

https://twitter.com/thiropGames/status/1576903608175841287

ちなみに自動装飾プラグインと組み合わせてオブジェクトをドット単位で配置できます。
木を密集配置でき、通行判定もそれっぽく自動設定してくれますよ!


虫や小動物

「マップ上の動くものを増やす」という意味では、虫や小動物をイベントで配置するのも効果的でしょう!

(こういった汎用的に使えるイベントは空のマップにまとめておくとパッとコピペで配置できておすすめ!)


通行人

街であれば移動中の通行人を配置することでマップに動きがつき、住民の生活感も出ておすすめです!

拙作めませかではPCキャラ達がランダムに現れては走り去っていきます。

マップ端にキャラをセットしておいて下のような移動ルートで通行人のモブを作れます!
(邪魔になりそうなら常時すりぬけONでもOK)

  1. 透明ON&すりぬけONで待機
  2. キャラ画像をランダムに変更
  3. 透明OFF&すりぬけOFFで移動開始
  4. マップ端まで移動させる
  5. 元の座標に戻す

2.のキャラ画像をランダムに変えるにはスクリプトで「var images=["People1","People2","People3"];this.setImage(images[Math.randomInt(images.length)], Math.randomInt(8))」など。

5.の元の座標に戻すにはスクリプトで「this._x=this._realX=this.event().x;this._y=this._realY=this.event().y;」など。



ライティング系プラグイン

代用方法は数多くあれど、最も没入感ある自然な光・暗闇の明暗を表現できるのがライティング(光源)プラグインです!

……なのですが、これも私はMZの主流のプラグインを知らないので紹介できないです🤸‍♂

ざっと探してみた感じ

など、他にもいくつかありそうです。


ライティング系プラグインは動作負荷が高めです。
また、プラグインや用途によっても重い・軽いの差が出やすいプラグインです。

いろいろなプラグインを試して自分の用途に合うものを探してみるとよいでしょう!



明かりアニメプラグイン

動作負荷などを考えライティングプラグインの使用を控えたい場合などは、明かりの画像を炎やランプになどの上に重ねて表示する明かりプラグインが代替としてとても優秀です。

MVではtomoaky様のアニメ付き明かりプラグインがありましたが、
MZではそれをmunokura様が移植したプラグインが公開されているようです。

パーティクルプラグインでの代用

前述のパーティクルプラグインでもイベント状に光パーティクルを重ねることで光源っぽく見せることができます。(Z値をspritesetにして色調変化の上に重ねるのがポイント)




自分の手持ちの「マップを盛るためのアイデアストック」をざっと紹介してみました!
詳しく紹介しませんが、他にもマップクオリティやマップ体験を盛るアイデアはいろいろあるでしょう。

  • 近景・遠景
  • 環境音/BGS
  • 歩行時のステップ音

マップはゲームの作風にも関わってくる重要な要素です。

動作負荷の問題もありますので、どのエフェクトをメインに使い、
どのエフェクトをここぞの場面で使うか。

などなど、実際に試してみながら組み合わせをよく吟味してみてください!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

[プラグイン]漂う光系プリセット追加【TRP_ParticleMZ/for MV】

パーティクルプラグインのver1.26(MV版はver2.26)のアップデートにて、
漂う光系のグループプリセットデータ32種が追加されました!

(レビューキャンペーン参加へのお礼アップデートとなります。たくさんの方のキャンペーン参加ありがとうございました!)

11のテーマごとに2〜3種のプリセットデータが用意されており、重ねていくことでより派手な天候エフェクトになります!

3つ全部重ねるとかなり派手でうるさいかもなので、基本は1〜2つくらいがおすすめです!


MZ版はサンプルプロジェクトにそれぞれのテーマごとにサンプルマップを追加してるので、ぜひダウンロードして確認してみてください!
(※MV版は1つのサンプルマップにまとめています。)


「追加プリセットデータ集」ご利用の方は、そちらもアップデートしてますのでダウンロードをお忘れずに!


※各種アップデート前に念の為プロジェクトのバックアップをお忘れなく




MV版にグループエディタを追加

MV版『TRP_Particle』に「TRP_Particle_GroupEditor.js」プラグインが追加されました。
(それに伴い、今月末で2500→2800円へと値上げ予定です。)

これにより、MV版でもグループデータの編集が可能となりました!

  • 再生コマンド:「particle group set 管理ID 表示対象 (グループ設定名)」
  • 編集コマンド:「particle group edit 管理ID 表示対象 (グループ設定名)」

プリセットデータを編集できるほかに、サブエミッターを使った凝ったエフェクトや複数のコマンドからなるエフェクトを作る場合にも威力を発揮します!


グループエディタは少し上級者向けですが、(MZ版の記事ですが)マニュアル記事を参考にぜひ一度触ってみてください!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

レビューキャンペーン第3弾/特典プラグイン使い方

今年もレビューキャンペーンやります!

https://twitter.com/thiropGames/status/1553619475253305344

新しい特典パッチを用意してるほか、参加人数に応じてプリセットデータを本体プラグインに追加収録予定です!


過去に参加した方も、新規で最近使い始めた方もぜひ奮ってご参加ください!

レビュー期間中(~8/14)は各種パーティクルプラグインの20%オフセールも行ってるのでまだ未購入の方もぜひ!


特典パッチプラグインのサンプル解説

特典パッチ「TRP_ParticleMZ_ExAttract」の使い方は、プラグインコマンドを呼び出して「操作対象の管理ID」「引き寄せられる対象」 を指定するのみ!

MV形式では「particle attract 管理ID 対象パラメータ」です。
(※対象として指定できるパラメータはプラグインのヘルプを参照)


この記事では、使用サンプルとしてPV動画用に用意した各サンプルのワンポイント解説をしてきます!


グループ機能で「attract」コマンドを使用するにはv1.25へのアップデートが必要です。
お手数ですが、プロジェクトバックアップの上でプラグインファイルの更新をお願いいたします。(※現在、公式DLC版はアップデート申請中)




使用例①:ギミック間のリンク

「2つのクリスタルを起動すると魔法陣の上にワープが現れる」コンセプトなギミックです。

1つ起動したら「もう片方も起動したら線の先に何かが起こる」ことがビジュアル的に分かるので、ユーザーフレンドリーかつ見た目も楽しめますね!


コマンド例

  • 1行目:メインの線状に移動するパーティクルを再生するコマンド
  • 2行目:「attract」コマンドで魔法陣のイベントに向かって引き寄せ
     └x:0, y:-24の座標調整、緩急係数1.05で少しだけイーズイン気味
  • 3行目:クリスタルの回りに発生させるオーラエフェクト(プリセットデータ)
  • 4行目:オーラエフェクトの位置(pos)をx=0,y=-48に調整

メインのエミッターは基本的には適当で大丈夫です!!
(※編集時には、あらかじめattractコマンドも直後に打ち込んでおくと調整しやすいです)

綺麗に対象に向かって線形にならない場合は、「speed」を抑えめにすればOK

  • speed「100 100」:拡散しすぎて広がって見える

  • speed「0 0」:きれいな線状

  • speed「10 10」:少しだけばらつきを持たせてランダム感

ちなみに、クリスタルのイベントは

  • 調べるとスイッチをON
  • 2ページ目に注釈でパーティクルをON

という構造です。

1ページ目でパーティクル再生コマンドを行う構造だと、マップ移動を挟むといきなり2ページ目でパーティクルが表示されないので注意。



使用例②:EXPの吸収

アクション(RPG)特有ですが、敵を倒した演出と経験値取得の演出を同時にできてお得ですね!

動画では敵(イベント)からプレイヤーにパーティクルが引き寄せられてますが、画面端に経験値バーなどを表示して、そちらに光が吸収されるようにするのも○

マップ上のキャラクター → ピクチャ・スクリーン上の定点など異なるレイヤー間でも引き寄せが可能です。


コマンド例

  • 1行目:メインパーティクルの再生
  • 2行目:パーティクルが対象にぶつかったときに発生するパーティクル用のサブエミッター
  • 3行目:10フレーム待機
  • 4行目:引き寄せコマンド。緩急係数1.5でイーズイン強め(徐々に早く)

ポイントは2つ。

1つ目は、引き寄せられたパーティクルが対象にぶつかったタイミングでサブエミッターを有効化させることで、パーティクルがぶつかって別のパーティクルが発生するように見せています。

↓サブエミッター設定は[sub]パラメータの「st(startTiming)」を1にして、パーティクル消滅タイミングでエミッターを有効化。


↓サブエミッターの「spawnChance」を1以下の0.5にして、50%の確率で発生するように量を調整


(※st=1ではemitterLifeが切れるまで再生されますが、emitterLife=-1で無限の場合は1回のみ射出されてすぐ消滅します)

メインのエミッターも少しだけ解説。

↓スピードを射出直後だけ大きな数値(1000)にし、直後(t=0.1)にスピードをガッツリ落とす(50)ことで、パッと炸裂するような勢いで射出される


↓パーティクル画像はキラッとするイメージの「shine」を使用




使用例③:アイテム合成

動画のサンプルではアイコン画像をピクチャで表示し、ピクチャに対してパーティクル表示&attractコマンドでの引き寄せを行ってます。
(※プラグインを書ける方でしたらSpriteで表示してそれにパーティクル表示させても○)


コマンド例

  • 1行目:メインエミッター(軌跡の動きだけで非表示)
  • 2行目:かまどイベント(event:1)に対して引き寄せ
  • 3行目:サブエミッター1。メインエミッターの軌跡に沿ってキラキラを表示
  • 4行目:サブエミッター2。対象にぶつかった直後に円形のエフェクト

↓メインエミッターでキラキラが通る軌跡の動きを作ります。(動画では分かりやすいようにパーティクルを表示)

↓実際には「alpha: 0 0」などで非表示に

↓サブエミッター1。メインエミッターの軌跡に沿ってキラキラ


↓「speed」をほぼ0にして軌跡にそのまま配置するようなイメージ&「scale」を発生直後のみ大きめの5、直後(t=0.15)に1に縮小してキラッと光るイメージに


↓サブエミッター2。すでに紹介した「st(startTiming)=1」としてパーティクルがぶつかったタイミングで別のパーティクルを表示させる手法






使用例④:戦闘スキル

設定に癖がありますが、戦闘スキルでのパーティクル表示でも活用できます。
* 参考:戦闘シーンでの表示


↓戦闘スキルのメモ欄でパーティクルコマンドを実行

  • 1行目:パーティクルグループの実行
     └対象「user(使用者)」はver1.25で使用可能になりました。
  • 2行目:2つめのコマンドの実行タイミング(ディレイ)を60フレームにセット
  • 3行目:(60フレーム後に)attractコマンドでスキルの対象(target)に引き寄せ
     └発生源(user)と引き寄せ対象(target)で対象が異なる関係で、attractコマンドはグループに含めずに別途コマンドを実行させています。

コマンド例

  • 1行目:メインエミッター表示(動きだけで非表示)
  • 2行目:サブエミッター1。炎のパーティクル
  • 3行目:サブエミッター2。敵にぶつかったタイミングで爆発
  • 4行目:60フレーム待機
  • 5行目:画面のフラッシュ。赤255、緑50、青0、強さ128、所要時間30
  • 6行目:画面のシェイク。強さ5、速さ10、所要時間20

↓先の例と同じくメインエミッターは動きのみを指定。(パーティクルは実際には非表示)

↓発生方法:バーストを使って9つ(particlesPerWave)のパーティクルを等間隔(burstのps=40°)に射出

↓サブエミッター1。炎を発生

↓サブエミッター2。st=1としてパーティクルが対象にぶつかるタイミングでひときわ大きな炎の爆発



以上、PV動画で使用したサンプルのワンポイント解説でした!

使いこなすにはある程度パーティクルプラグインにある慣れてないと難しいかもですが、他の方法では再現が難しく表現の幅が広がる拡張コマンドです!


ぜひ、レビューキャンペーンに参加して特典DLリンクを受け取り、遊んでみてください!


↓おまけ、自創作での活用例

  • アイコン
    KIRUKO ID00786376
    素晴らしいです。お世話になっております。

1件のチップが贈られています

チップを贈るにはユーザー登録が必要です。チップについてはこちら

[講座]アニメーション画像でエフェクト量産【TRP_ParticleMZ】

←MV版マニュアルトップ
←MZ版マニュアルトップ


「MV形式のアニメーション画像」を使ってキャラクター対象のエフェクトを簡単に量産する方法を解説動画にしてみました!

導入記事を読み終わって、いざ「自作パーティクル設定を作ってみよう!」と挑戦してみる前に試すとちょうど良いレベルだと思います。

使い始めの方もぜひ挑戦してみてください!

https://twitter.com/thiropGames/status/1545582304495423488

次に講座記事・動画を作るモチベーションになるので、「内容がためになった!」という方はぜひ記事やツイートにいいね・RRをよろしくです!



雑記:講座動画ツクール

前回、講座記事を編集中に不幸にもロストしてしまったショックから、「次からは動画形式で作ってみようかな」と、講座動画の流れをツクールで編集できるようにちょくちょくいじってました。

https://twitter.com/thiropGames/status/1545034658940825601

慣れると記事で書くよりも短時間で編集できそうな感じです!

今回はわりとガッツリした内容でしたが、反応あるようでしたらちょっとしたテクニックみたいなのも気軽に投稿していきたいですね。

それではノシ

1件のチップが贈られています

チップを贈るにはユーザー登録が必要です。チップについてはこちら

[講座]『天候:メテオ』の作り方【TRP_ParticleMZ】



こんにちは。

GW真っ最中、いかがお過ごしでしょうか?

各所でGWセールが賑わっておりますが、シロップ印の各種プラグインも20%オフのセール中(~5/8<日>まで)です!




気になるプラグインがありましたら、ぜひショップページへお越しくださいませ!



さて、今回の記事ではRPGツクールMZ向けパーティクルプラグイン「TRP_ParticleMZ」を使って空からメテオが降ってくる天候エフェクトの制作方法をご紹介します!


上級者向けのグループエディタやサブエミッターを活用した高度なエフェクトとなります。

各種スタートアップ記事を読みこんで操作に慣れていないと難しい内容ですが、購入したばかりの方も「こんなエフェクトが作れるのか〜」と気軽に流し読みしてもらえると幸いです。



□スタートアップ記事
導入とパーティクル表示【TRP_ParticleMZ】
基本の使い方②〜エディタ編【TRP_Particle】
グループ機能【TRP_ParticleMZ】
サブエミッター機能【TRP_ParticleMZ】



天候「メテオ」の作り方

さて、新たにパーティクルエフェクトを自作しようとするとき、どのプラグインコマンドを使ってるいでしょうか?

「TRP_ParticleMZ」プラグインのset/playコマンドを使う方が多いかと思います。


ただ、ある程度プラグインの操作に慣れた方であれば、
「TRP_ParticleMZ_Group」プラグインのsetコマンドを使うのが断然おすすめです!



編集を始める際は、どんなエフェクトを作るかある程度想定しているでしょう。

しかし、いざエフェクトを作り進めていくと「見栄えをよくするために、もう1つエフェクトを重ねたい」と思うことが多々出てきます。


そんなときにグループコマンドのエディタであれば、テストプレイを続けながら複数のエミッターを交互に編集して見栄えを整えることができます。

エフェクトを作り始めるときは、おもむろにグループコマンドのsetを_EditMode=trueで呼び出しましょう!


今回は管理ID(設定名)「meteor」、対象を「weather」として天候エフェクトを制作していきます。




隕石本体の動きを作ろう

さて、グループエディタを呼び出して最初にすることは9割9分、決まってます。

「command1」の行にカーソルを合わせ、「edit」と打ち込んでEnterです



今回は、隕石本体をメインエミッターとして発生させ、複数のサブエミッターで細かな演出や動きを作っていきます。

  • サブエミッター1:隕石の動きに合わせて「周りに燃える炎」
  • サブエミッター2:「衝突後の炎」
  • サブエミッター3:「衝突後の炎の煙」

では、隕石本体の動きを設定していきましょう!


隕石画像の読み込み

まずはパーティクルの画像を設定しましょう

今回はツクールMVのアニメーション画像「Earth3」の画像を使います。


「Ctrl+A」でMV形式のアニメーション画像をパーティクルとして読み込めるので、MVを所持してる方はぜひアニメーション画像をプロジェクトに取り込んでおきましょう!

ツクールMVの新規プロジェクトからimg/animationsフォルダをコピペすればOKです。


(※MVを持ってない人は任意の画像を用意して「img/particles」フォルダに入れましょう。「Ctrl+I」での画像選択時に表示されます。
ちょうどよい画像が無い方は、キャラ画像「!Others1」の岩の画像を切りとってひとまずの代用とすると良いでしょう。)


隕石の動きを設定

最終的には画面上のランダムな位置から複数発生させたいですが、まずは編集しやすいように隕石1つを定位置に発生させましょう。

□パラメータ設定例

  • [blendMode]は0で通常
  • [lifetime]は幅を持たせず4秒で固定。固定にすることで、消滅のタイミングに合わせてシェイクやSE再生といった演出をさせることができます。

「Ctrl+S」で保存→「Ctrl+W」でいったん隕石本体のエミッター設定を終わります。


隕石の周りの炎の設定

燃え盛る隕石を表現するためにサブエミッターを設定します。

「opt+↓」を押して「command1」の行の下にコマンドを追加し、

「sub」と打ち込んでEnterを押してサブエミッターを設定します。


炎のエフェクトとしてプリセットデータの「fire_c」をベースに編集していきます。

「Ctrl+P」でプリセット一覧から「fire_c」を選んで読み込みましょう。


読み込んだ数値のままだと少し問題があるので調整していきます。


位置の調整

まずは、炎が隕石のまわりにまとわるように発生位置を調整しましょう。

現在は長方形の範囲に発生させる「rect」となってます。


円形に発生させる「circle」に変更し、半径「r」をちょうどよい値に設定しましょう。(ここでは24)

発生量と見栄えの調整

次に、frequencyの値を大きくしてパーティクル発生量・負荷を抑えます。(ここでは0.01)

また、発生時の大きさを大きくし、量が減ってスカスカになった分の見栄えを補います。


方向の調整

炎が真上に立ち上がってますが、隕石の動きに合わせて[startRotation]を左上(-120度)に変更します。


□サブエミッター1のパラメータ



これで、1つ目のサブエミッターの設定完了です!

「Ctrl+S」→「Ctrl+W」でサブエミッターの設定を保存&終了します。



着弾後の炎と煙

次に、隕石の着弾後に残る炎のエフェクトを新しいサブエミッターとして設定していきます。

さきほどと同じように「Ctrl+↓」でCommand2の下に新しい行を挿入し、
「sub」と打ち込んでからEnterでサブエミッターの設定を行います。

着弾後の炎にもプリセットデータ「fire_c」をベースに使います。

「Ctrl+P」でプリセット一覧を表示して「fire_c」を選びます。


このままでは隕石の周りに炎が表示されているだけです。

隕石消滅後に表示されるようにサブエミッター設定の「sub」パラメータを調整します。

まず、開始タイミングを設定する「st」を1としてサブエミッターを有効化するタイミングを隕石消滅直後とします。

「emitterLifetime」が-1で永続のままではすぐに消滅する仕様なので、炎の表示時間を適当な秒数に設定します。

(※長すぎると隕石が降ってくるたびに炎が残って負荷が大きくなるので注意)


また、負荷を抑えるために「frequency」を少し大きめにして発生数を抑えましょう。

ついでにスカスカになった分、発生範囲rectの幅と高さを小さくして表示範囲を小さくすると良いでしょう。


□サブエミッター2のパラメータ


煙の設定

全く同じ手順で炎の煙をサブエミッターとして設定します。

プリセットデータで読み込むデータとして「smoke_c2」を使います。

読み込んだあとに、

  • 「sub」パラメータの発生タイミング
  • 「emitterLifetime」で炎の継続時間
  • 「frequency」と「rect」で発生量と発生範囲

など調整しましょう。


□サブエミッター3のパラメータ



お疲れさまです!

これで、隕石エフェクトの基本設定が終わりました!


「Ctrl+S」→「Ctrl+W」でサブエミッターの設定を保存してから

もう1度「Ctrl+S」→「Ctrl+W」でグループの設定を保存して終了します。

(※グループ設定の保存を忘れずに!)



画面演出の設定

演出として隕石の着弾に合わせて「シェイク」「フラッシュ」「SE」を設定します。

パーティクルグループコマンドの「_editMode」をOFFにして、着弾タイミングの4秒(240フレーム)後にそれぞれのコマンドを実行させましょう。


3つのコマンド「シェイク」「フラッシュ」「SE」の好みの設定が見つかったら、パラメータをメモしておきましょう。


実は、上記の演出はパーティクルのグループコマンドからそれぞれ「shake」「flash」「se」コマンドとして実行させることができます

(※グループコマンドに演出を組み込むことで、パーティクルグループコマンドを実行すれば、あとはタイミングを図らずに「シェイク」などを自動で行うことができます。)



再びグループsetコマンドの「_editMode」をONにしてテストプレイでグループエディタを開きます。

「Ctrl+↓」でコマンドを挿入して、

  • 指定フレーム待機:「wait フレーム数
  • SEの再生:「se SE名 ボリューム ピッチ パン
  • フラッシュ:「flash 赤 緑 青 強さ 所要時間
  • 画面のシェイク:「shake 強さ 速さ 所要時間

をそれぞれ設定しましょう。

(※残念ながら、グループエディタ画面ではフラッシュやシェイクの動作を確認できないので先程イベントコマンドで設定した値をそのまま使いましょう)



画面上にランダムに発生させる

さて、もろもろの下準備は終わりました。

画面上にランダムに隕石を発生させましょう!


まずは、隕石本体のエミッターを編集して発生位置を画面上のランダムなrectに設定しましょう。

[Command1]の行を選んで「Alt+E」で編集モードに入ります。



「screen」と打ち込むと発生位置が画面全体の範囲のrectに設定されます。

隕石を画面の上側から発生させ、着弾地点を画面内に収めるために微調整します。


いったん[emitterLifetime]を-1としてエミッター寿命を永遠にして[frequency]も調整し、画面上に大量に隕石を発生させます。(パソコンのスペックに注意)

この状態で[rect]の値を調整すると範囲を調整しやすいでしょう。


調整作業が終わったら、[emitterLifetime][frequency]をもとに戻してパーティクルが1つだけ発生させる状態に戻しましょう。

(※通常の天候エフェクトは[emitterLifetime]を-1として永続的に発生させればよいのですが、パーティクル発生ごとにSEや画面シェイクを合わせたいのでここでは1つのみ発生させます。逆に、割り切ってSEやシェイクをランダムなタイミングで発生させるのであればエミッターで永続的に発生させてOKです)


最後に、イベントコマンドで複数の隕石パーティクルの再生を管理させます。


イベントで隕石エフェクトを制御

ループコマンドを使って一定間隔で隕石を発生させます。

60フレームに1回の頻度で発生させます。



さて、このままでは隕石は画面上に1つしか表示されません。

パーティクルプラグインに使い慣れてきた方ならば原因は分かると思います。


「管理IDが同じエフェクトは1つしか表示できません。」


グループコマンドを呼び出すたびに管理IDを変える必要があります。

ここでは、変数を使って管理IDを制御してみましょう。



グループコマンドの管理IDとデータ名は次の通りです。

  • 管理ID:meteor\V[変数番号]
  • データ名:meteor

とします。管理IDには制御文字で変数の値を組み込んでおり、ループごとに「meteor1」「meteor2」と変わっていきます。

(※ver1.21にてグループコマンドの制御文字が反映されない不具合を修正しているのでアップデートをお願いします)




以上で「天候:メテオ」エフェクトが完成しました!


あとは、画面の色調を少し赤くすると雰囲気もそれっぽくなるでしょう。


今回のエフェクトはグループエディタを使ったものの中でも、かなり複雑なものです。

単体のエミッターよりも複雑でリッチなエフェクトを手軽に作れるので、ぜひグループエディタも活用してみてください!



そして、プラグインのセールもお忘れなく!

それでは!




おまけ:さらに調整

ランダムな間隔で発生させる

1秒(60フレーム)ごとに隕石を発生させてますが、シェイクやSEも1秒ごときっかりだと少し機械的な感じが強いです。

ループ間隔を1/3の20フレームに縮めて、その代わりに33%の確率でグループコマンドを実行させるように変更させます。

(※変数を使って乱数を生み出してもいいですが、マップイベントのリロード処理が走ってしまうため、ここでは条件分岐のスクリプトを使用しています。)


画面ループさせる

画面内が隕石で埋まっていても、上下左右にスクロールさせるとパーティクルが途切れます。

「loop」コマンドを使い、上下左右でパーティクルを使いまわしてループさせましょう。


光らせる

隕石の画像が少し浮いてしまうため、完成動画では隕石を中心として発光させています。

画像「flare」[speed]=0でその場でチカチカ表示させるだけで手軽に発光させて雰囲気を馴染ませられるので試してみると良いでしょう。

1件のチップが贈られています

チップを贈るにはユーザー登録が必要です。チップについてはこちら

« 1 2 3 4 5 6 7

月別アーカイブ

記事を検索