Posted Articles

テクスチャプラグイン【クラファン・限定プラグインセット】

マップ自動装飾プラグインのクラウドファンディング「限定プラグインセット」プランに、フロアテクスチャプラグインを追加しました。


マップにテクスチャを重ねて濃淡の質感をつける力技なプラグインです。
(本来は「床」のみにテクスチャをつけたくてこのプラグイン名なのですが、現状ではマップ全体に重ねるフォグっぽい用途がメインです……)


(現在のところ限定プラグインセットはクラウドファンディング終了後の販売予定がないのでご注意)


追記<1/20>フォグテクスチャプラグインに新生

フロアテクスチャプラグインの要のブレンドモード「オーバーレイ」がMZでは特に動作が重く、検証を行いましがスマートフォンや低スペックPCでは使用非推奨とさせていただきました。(MVでは実用範囲かと思いますが、想定環境で動作テストなどお願いいたします。)

テクスチャ目的のプラグインとしては不完全と判断し、旧来機能に加えてフォグ表示機能を強化し 新たに「フォグプラグイン+サブ機能としてオーバーレイでのテクスチャとしての表示」というコンセプトの新規プラグインに改修させて頂きました。

以下の記事に新機能オーバーレイ表示のON/OFF設定などについて解説してますのでご一読お願いします。


以下、元の記事内容。

導入方法

  • プラグインファイル「ExPluginSet/materials/plugins/TRP_FloorTexture.js」を導入
  • 「ExPluginSet/materials/img/floor_textures」フォルダをプロジェクトの「img」フォルダ内にコピペ

使い方

マップにイベントを配置してプラグインコマンド「編集開始」を実行します。
MV形式コマンドでは「floorTexture edit」

(※スクリプトでは「TRP_CORE.FloorTextureSprite.edit()」でもOK。
DevToolsPluginをお持ちの方はショートカットキーに登録しておくと○)

テストプレイでコマンドを実行すると、編集画面が起動します。
ここでテクスチャ画像を調整できます。

テクスチャは上下左右のループ画像で、拡大率・コントラスト・不透明度などを調整して質感を変化できます。

マップへの設定

「Ctrl(MacはCmd)+Wキー」で 編集画面を終えるとクリップボードに設定パラメータがコピーされます。

マップ設定を開いてメモ欄に貼り付ければOKです。




パラメータの動画解説

それぞれのパラメータについて簡単に解説してきます。
(パラメータによる画像変化は、ブレンドモードを0にすると分かりやすいです。)

画像番号

テクスチャ画像を切り替えます。

プリセットの画像素材では1~9番まで有効です。
(6~9番は倍の細かさの解像度)

また、「img/floor_textures」フォルダ内に「floor_texture10.png」のような画像名形式で自由に画像を追加可能です。

ブレンドモード

画像の合成モード。

  • 0:通常
  • 1:加算
  • 2:乗算
  • 3:スクリーン
  • 4:オーバーレイ

デフォルトはオーバーレイ<4>ですが、ツクールMZではそのままではオーバーレイが使用できません。

コアスクリプトがver1.6.0以降であり、かつ「pixi-picture_for_MZ_160.js」を導入することでオーバーレイを使えるようになります。

ただ、オーバーレイは他のブレンドモードと比べて処理が重いと思うので動作には注意です。想定スペックの環境でテストしてみることをおすすめします。

拡大率

テクスチャの拡大率。

縮小する場合は、テクスチャの画像番号6~9番にするのも○

アスペクト(縦/横比率)

画像の縦横比率。

Z値

画像の重なり順。

ガンマ

画像のガンマ値。

コントラスト

画像のコントラスト。

明るさ

画像の明るさ。

アルファ

画像の透明度。

If you liked this article, support the creator with a tip!

Sending tips requires user registration.Find details about tips here.

自動装飾プラグインでのマップオブジェクトの操作

クラファン駆動で開発中の「マップ自動装飾プラグイン」の解説記事です。

本記事の内容を実行するには、「マップ自動装飾プラグイン」に加えて拡張用の「マップオブジェクトプラグイン」が必要です。

また、まだスタートアップ記事を読んでいない場合は先にそちらの内容に挑戦してみてください!
本記事内容は、テンプレートマップへのオブジェクト登録や自動装飾エディタの基本的な使い方については解説を省いております。



Ver1.14にてマップオブジェクトプラグインを使用したオブジェクト表示が以下のパラメータに対応しました。
(詳しい設定方法はTRP_MapObject.jsプラグインのヘルプを参照。イベントを使ったオブジェクトの表示設定はマップオブジェクトプラグインのみでも動作○)

  • 角度の設定
  • 不透明度の設定
  • 反転(ミラー)表示設定
  • ブレンドモードの設定
  • ティント(色合い)の設定

それに合わせ、「マップ自動装飾プラグイン」のオブジェクトの手動配置モードにおいて、「マップオブジェクトプラグイン」を使用したオブジェクト表示の細かな調整ができるようになりました!

多岐にわたる機能が追加されたので、森マップに「木をドット単位で配置」し「影と光で装飾」していく作業を例に機能の解説をしていきます。


マップオブジェクト形式で木を配置

自動装飾プラグインのオブジェクト抽選モードでオブジェクトを配置すると、全てマス目単位で配置されます。

この時、テンプレートに「タイル形式」で登録したものはタイルとして配置され、「マップオブジェクト(以下、マップオブジェ)」形式で登録したものはマップオブジェとして配置されます。

(↓左がイベントを使った「マップオブジェ形式」、右が通常の「タイル形式」でのオブジェクト登録)

オブジェクトの手動配置

まずは従来機能の復習から!

オブジェクトはランダムな抽選配置のほかに手動で配置することもできます。

配置されたオブジェクト上で「Ctrl+左クリック」を押すと、そのオブジェクトのコピーを配置する「手動配置モード」に入ります。

適当な場所をクリックすることで、好きな場所に配置することができます!

さて、次に「Shiftキー」を押しながらマップ上をクリックしてみましょう。


今度はマップ上に「ドット単位」で配置されます

このとき、「タイル形式」で登録されたオブジェクトも自動で「マップオブジェクト形式」に変換されます!

Shiftキーを押しながら木を好きなだけ配置してみましょう!


座標のドラッグ移動調整

Shiftキーを押しながら左クリックでオブジェクトを配置できますが、このときマウス左ボタンを押しっぱなしにすることでドラッグしながら配置位置を調整できます。

さらに一度配置したオブジェクトの位置を調整したい場合には、オブジェクト上でShiftキーではなくCtrlキーを押しながら左ボタンでドラッグすることで移動させることができます!

オブジェクト選択のタッチ判定

スポイト中のオブジェクトを消去するときもですが、対象のオブジェクトをうまく選択できないときは、オブジェクトのアンカー位置(デフォルトではX=0.5,Y=1でちょうど木の幹の根本の中心)に近い部分をクリック・ドラッグしましょう。

パラメータの調整

Shiftキーを押しながらマップオブジェクト形式で配置した直後に、キーを追加入力することで角度・拡大率・不透明度などの各種パラメータの設定が可能です。

いろいろと試してみましょう。

  • Shift+左右キー:回転
  • Shift+上下キー:拡大
  • Alt(MacはOpt)+左右キー:X方向の拡大
  • Alt(MacはOpt)+上下キー:Y方向の拡大
  • Mキー:左右の反転(ミラー)
  • Q/Wキー:不透明度の反転

また、不透明度は数字キーでも設定が可能です。

  • 1:10%
  • 2:20%
  • 9:90%
  • 0:100%

……木を回転させたり半透明にする必要はないので、いったん元に戻しましょう。

「Rキー」でパラメータをリセットできます。


ティント(色合い)の調整

さて、ここでは「Tキー」を押してティント(色合い)を調整してみます。

Tキーを押すと、左上にカラーパレットが表示されるので、好きな色を選べばOK。

注意点として、ここでのティントは「デフォルトの状態がRGB=255,255,255の最も明るい状態(=白)」でここから赤・緑・青の色を抜くことで色合いの変更が可能です。

たとえば、赤を選んだときはRGB=255,0,0となり、緑と青の色味が抜かれて赤くなると同時に暗くなります。


ティントのランダム設定

ティントを細かく設定するのが面倒なときは、「0~9の数字キー」を使用してランダムに設定することができます。


デフォルトの状態(RGB=255,255,255)を基準として、「1キー」を押すと10%の範囲でランダムに変化(各数値は255 x 90%~100%の間で変化)し、「2キー」を押すと20%…と変化幅が大きくなります。(「0キー」は5%で最小の変化幅)


さらに、「Shiftキー+0~9キー」を押すことで、配置している同種のオブジェクトすべてのティントをランダム抽選することができます。

木などの自然物の色味を微妙にずらしたい場合に便利なのでご活用ください!



影・太陽光の配置

続いて、装飾として影・太陽光のキャラ画像を配置してみましょう!

プリセット画像として「MapObjects/materials/img/characters」フォルダ内に画像を用意しているのでお試しにご利用ください。
(※毎度ながらのなんちゃってクオリティなので、ちゃんとした素材サイトのものや自作推奨です…!)


さて、テンプレートにマップオブジェ形式で登録したいところですが、これらの画像はランダム配置でなく1つ1つ調整しつつ配置したいところです。

オブジェクトパレットに登録して、パレットから画像を選択して手動配置してみましょう!



オブジェクトパレットの登録

テンプレートマップ上でイベント画像「オブジェパレット設定」を配置すると、そのすぐ右が1マスサイズのオブジェクト、1マスあけて2マス以上のサイズのオブジェクトの登録スペースとなります。


影画像(leaf1_PIC.png)は

  • メモ欄に<anchorY:0.5>として変形の中心を画像中心にセット
  • プライオリティは「通常キャラの下」

太陽光画像(lightRay1_PIC.png)は

  • メモ欄に<blend:4>としてブレンド(合成)モードをオーバーレイ
  • プライオリティは「通常キャラの上」

に設定しています。

ブレンドモードについては後述します。先にパレット機能を使ってみましょう。


1枚絵形式のキャラ画像

画像名の最後に「_PIC」 をつけると、マップオブジェ表示時にパターン・方向を持たない1枚絵形式で表示されます。

不要な余白を減らして使用メモリを節約しましょう。


オブジェクトパレットの呼び出し

オブジェクト抽選モード、またはオブジェクトの手動配置モードで「Ctrl+右クリック」で登録したパレットを呼び出せます。

(※ブザー音がなりパレットが表示されない場合は、パレット登録が失敗していると思われます。上の項を参考に、テンプレートマップへのオブジェクト登録が正しい箇所で行われているか、また、マップオブジェクトプラグインがちゃんとONになってるかご確認ください)

パレットには登録されたオブジェクトが順に並んでいるので、左クリックで選んでからマップ上をクリックして配置しましょう。



共有パレットの登録

先ほどテンプレートマップ内でパレットを登録しましたが、共有パレットに登録することも可能です。

共有パレットに登録したオブジェクトは、(森や洞窟などの)テンプレートマップによらず呼び出すことが可能です。

適当なマップを作成してイベント画像「オブジェパレット設定」を配置し、また同じように右側にオブジェクトを配置して登録します。

(↓のようにタイル画像をオブジェクトに登録してもマップのタイルセットによって表示が崩れるので、共有パレットはイベント画像用に使用してください。)

つぎに「TRP_MapDecorator_Template.js」プラグインのプラグイン設定を開き、「共有パレットマップID」の項目にいま作成したマップのIDを登録すればOKです。


影の配置

Ctrl+右クリック」でパレットを呼び出して「影画像」を選び配置していきます。
……特に解説することは無いので、今まで紹介した機能を試してみましょう!

  • Shift+上下で拡大
  • Shift+左右で回転

大きさと角度を決めたら、「Ctrlキー」を押しながらドラッグして位置を微調整。

不透明度の設定

また、少し影が濃いので不透明度も調整すると良いでしょう。

Q/Wキーで+ーの調整が可能ですが、数字キーで設定するのが楽です。

ここでは「7キー」を押して70%に設定しています。

反転設定

この要領で影をいくつか配置してみましょう。

影画像はプリセットで3種用意してますが、同じ画像を配置する場合も「Mキー」で反転させてみてもバリエーションとして使えるでしょう。


太陽光の配置

続いて「Ctrl+右クリック」でパレットを呼び出し、太陽光を選んで配置してみましょう。

……ただし、このまま配置してもツクールMZでは綺麗に表示されません。

ブレンドモード「オーバーレイ(4)」が正しく表示されないためです。

ブレンドモード「オーバーレイ」の対応

※1/20追記:MZではブレンドモード:オーバーレイでの描画負荷がかなり高く、スマホ向けや低スペックPCではFPSを落とす原因となります。対応方法について記事にまとめましたのでご利用の方はご一読お願いします。


ブレンドモードの0~3(0:通常、1:加算、2:乗算、3:スクリーン)はデフォルトで表示可能ですが、オーバーレイ(4)には「pixi-picture.js」というPIXI.jsの拡張ライブラリが必要です。

RPGツクールMVはデフォルトで「pixi-picture.js」が導入されていますが、ツクールMZではそのままでは使えません。


ツクールMZでオーバーレイモードを使用するには

  • コアスクリプトv1.6.0以降であり
  • かつ、pixi-picture.jsの導入

が必要です。
(※コアスクリプトv1.6.0ではpixi.jsがv5.3.12にアップデートされており、pixi-picture.jsの導入にはpixi.jsのv5.3以降が必要となります。)


コアスクリプトをv1.6.0以降にアップデートした上で、プラグイン化したライブラリ「pixi-picture_for_MZ_160.js」が「MapObject/materials/plugins」フォルダ内にあるので、プロジェクトに導入しましょう。(プラグイン設定のなるべく上側に配置)



これでオーバーレイモードで表示されるはずです!

ただし、オーバーレイモードは他のブレンドモードと比べて負荷が高めです。

多用する際には想定動作スペックでのテストを行うと良いでしょう。



パラメータ調整

さて、太陽光を配置していきましょう。

パレットから筋1つのものを選んで配置します。
(後で移動させるのは若干面倒なので、ある程度完成像をイメージして配置しましょう)

Shift+左キーで角度を調整し、

Alt(MacはAlt)+左右キーで太さを調整し、
Alt(MacはAlt)+上キーで上方向の高さを調整しましょう。


「Cキー」を押すと現在の状態のオブジェクトをスポイトし、左クリックでそのまま配置することができます。

太さを変えたり、「0~9キー」で不透明度を変更していい感じに束ねましょう。


画像バリエーション

プリセット画像に、いくつか光を束ねた画像も用意しています。
1つずつ配置するのは手間なので、これらを使って時短してもよいでしょう。

ただし、角度をつけると下端も傾いてしまいます。

使用する角度のパターンが決まってる場合は、画像編集ソフトを使って束ねた画像を自分で用意するのも良いでしょう。(マップオブジェの数を減らせばオーバーレイの使用数も減って負荷も減る…はずです!)



以上が、自動装飾プラグインの「手動配置モード」で「マップオブジェクト」を細かく調整配置する方法となります。

操作がかなり細かいですが、ガイドにも操作方法を表示されているので徐々に慣れていってくださいませ!

If you liked this article, support the creator with a tip!

Sending tips requires user registration.Find details about tips here.

自動置換機能の応用例【マップ自動装飾プラグイン】

前回の記事では「自動置換機能の基本的な使い方」を解説しましたが、
本記事では、応用例として様々な置換プロセスの活用例を紹介していきます!
(※現在は1例のみですが、のちのち他の例も紹介予定)



トロッコ線路のオートタイル設置

タイルの中には

「オートタイル形式で設置できたら絶対楽なのに!」

というものがありますよね!

デフォタイルだと、内装の「手すり」であったり、


もう少し複雑なのが、ダンジョンの「トロッコ線路」タイル!


ここではトロッコの線路タイルをオートタイルっぽく設置する方法を解説します!

最終的には「適当な床オートタイル」で設置し…

線路タイルに一発で置換できます!


早速ルールの設定を行っていきましょう!


ここでは適当な使わない床オートタイルに対してシェイプごとにルールを割り当てていきます。シェイプがわかりやすいタイルだとベストです。

今回は、フチに模様がついた絨毯タイルを使用していきます。


さて、↓のタイルに対応する置換ルールを設定していくわけですが、効率よくルールを考えるにはコツがあります。


まずは、関係しそうなタイルをまとめてテンプレートマップに貼り付けます。

その上で、1タイルごとにどのようなルールで置換していくかを考えていけばOKです。

  • 絨毯タイルで線路に対応するシェイプを作る
  • Shift押しながらシェイプを保って上段に貼り付け
  • 対応する線路を下段に登録し、わかりやすいように一覧エリアから消去
  • 使わなそうなタイルは削除
  • 床タイルを補完するためイベント画像「裏タイル補完」を配置

基本はこれだけです!

オートタイル1種で配置できれば手間が大きく減るので、活用できる場所はどんどんルール化してみましょう!


リージョン条件

…少しだけ補足です!

最後に残ったこれらのタイル、右側の4タイルは今回は未使用で消去しました。

これらは「丁字路の分岐点」にあたるタイルなのですが、絨毯のパターンでみると同じ丁字路でも線路にすると左右方向のどちらに曲がるかで2パターン用意されています。


これらを絨毯シェイプだけでどちらに置換するか区別させることはできません。

とりあえず片方に置換して最終的にエディタで手直しするのが簡単ですが、リージョンを使って置換先を分岐させることも可能です。


ここでは、分岐先が下ならリージョンID2、上ならリージョンID8(左なら4、右は6)と設定することにします。


ルールの対象タイルに対して

といったようにリージョンを設定したいところですが、これではそれぞれ「2~8%の確率で置換実行される」だけです…!


対象のマス上にイベントを配置し、メモ欄に「<region:リージョンID>」の形式で条件を設定します。

ちなみに、左の4つにリージョンIDを設定すればOKです。

右の4つは残った方のリージョンが置換されます。
反対の右の4つにだけ設定してもだめなので注意。

  • 置換ルールは複雑な条件を先に!

という順序のセオリーです!


実際にマッピングする際は、分岐点にリージョンを設定すればOKです!

これで、分岐点は上方向(8)に接続します。

If you liked this article, support the creator with a tip!

Sending tips requires user registration.Find details about tips here.

自動置換機能の使い方【マップ自動装飾プラグイン】

クラウドファンディングで支援をいただきながら開発中の「マップ自動装飾プラグイン」の目玉機能の1つ「自動置換機能」の使い方を解説するチュートリアル記事です。


配置の手順は決まってるけどポチポチと手作業しなければならない面倒な処理を、「置換ルール」として設定することで一発で処理してくれます!

使いこなせばかなり複雑なこともできるので、ぜひ今回の記事もゆっくり読み進めてみてください!




基本的な使い方

今回の記事では、実際の使用例を紹介しながら使い方を解説していきます。

また、パーツ種類が豊富で置換機能が活躍する機会が多い「FSMタイル」素材を例に紹介していきます。

公式DLCでも販売されている有料素材ですが、本プラグインとの相性抜群ですのでお持ちの方は実際に試しながら記事を読んでみてください!


壁・天井のバリエーション

FSMの洞窟タイルで組んだマップを、オートタイルの角張ったものからA5・B-Eタイルの丸みを帯びたバリエーションパーツに置換してみましょう!

まずは、天井の角を置換してみます。


テンプレートマップには、以下のようにタイルを配置します。


「置換登録1マスサイズ」

「置換登録1マスサイズ」の画像イベントを配置した右側が、置換ルールの登録エリアとなります。

(↓キャラ画像「DecorationInfo.png」。画像が違うという方は最新版のmaterials/charactersフォルダ内の画像にアップデートを!)



上段に「置換する対象のタイル」下段に「置換後のタイル」を配置します。


オートタイルのシェイプも影響するため配置が若干面倒ですが、空いてるスペースに一度ならべて配置してから「Shiftキー」を押しながらスポイト&配置するのが良いでしょう。


さて、上側の天井タイルは透明な部分があるタイルに置換したため裏に黒い部分が見えてしまいます…


イベント画像「裏タイル補完」を置換後のタイル上に配置して、裏のタイルを自動補完しましょう!

周辺のタイルを解析して"それらしく見えるタイル"を推測して補完してくれます!

今回は、左側には通常の床を、右側には崖フチタイルが補完されました!
(あくまで推測のため100%の精度ではないですが、だいたいはいい感じに補完してくれるはずです!)


壁の置換

続いて壁タイルも丸みを帯びたものに置換してみましょう!

壁タイルは基本的に「上段」「中段」「下段」に分かれており、これと「高さ1段」の場合の3段分を登録すれば過不足がありません。


「上段」「中段」→A5タイル画像の上側、「下段」「1段」は透明ピクセルを含むBタイル画像のものに置換登録しています。(裏タイル補完の設定も忘れずに!)


ついでに「崖フチタイル」も登録しておきましょう!


↓置換結果!



ルールの設定順序

さて、ここまではあえて各パーツの四隅に絞って置換を行ってきましたが、FSMタイルには上下左右の辺部分パーツにもバリエーションが用意されています!

置換ルールを設定する際にはルールの設定順序がとても重要になります。

それぞれのルールは「左から順に実行」されるのですが、いくつか設定順序のセオリーがあるので頭に留めておいてください!


  • 100%置換する「地形」に関するものから行う
  • 厳しい条件のルールから行う
  • 装飾パーツへの置換など確率的な置換はできるだけ最後に行う

四隅のパーツは、ここでは100%置換を行うルールとしたので最初に登録しましたが、装飾パーツへの置換はできるだけ最後の方にルールを設定します。


例えばタイルXに対して

  • タイルYを追加する
  • 50%でタイルZに変化させる

という2つの処理を行いたい場合、先に確率的にタイルZに変化させてしまうと

  • タイルX→確率でタイルZに変化
  • タイルXタイルYを重ねる
  • タイルZタイルYを重ねる

と3つのルールが必要になります。



これは、確率的な変化を後ろにもっていくことで

  • タイルXタイルYを重ねる
  • タイルX→確率でタイルZに変化

と2つのルールで処理することが可能になります!



今回の例であればルール1つ分の差ですみますが、複雑になれば数倍・数十倍にもなり得ます。

ルールをの設定順序には十分注意しましょう!

(ルールを前に挿入したいけどスペースがない場合は前回の記事で紹介した「テンプレートマップの整備要イベント」を活用しましょう)



装飾バリエーションの置換

さて、それでは改めて確率的な置換処理を解説していきます!
(※以下の設定は50マスくらいあけて右側に設置すると吉です)

↓天井の上下左右の辺パーツのルール設定例


下段には下方向に並べて配置することで「確率でどれかのマスに置換」されます。


また、「置換確率」を「リージョンID」を使って設定することができ、下段にリージョンIDを設定することで現れやすさの重み付けも可能です。

簡単ですね!

崖フチや壁タイルにもバリエーションを設定しましょう。



複数タイルサイズの置換処理

2マス以上のサイズのバリエーションパーツへの置換も行うことができます。

イベント画像「置換登録(通常)」を配置し、右側に登録していきます。

「1マスサイズ」の登録モードとの違いはルールごとに1マス開ける必要があります。
また、置換確率は「左上のタイル」にのみ設定すればOKです。


これで大きなバリエーションにも対応できるのですが……

置換ルールの設定順序のセオリー2つ目

  • 厳しい条件のルールから行う

に照らし合わせると「1マスサイズ」よりも「大きなタイル」を先に置換した方がいいです!!


小さなタイルが虫食い的に先に置換されてしまうと、大きなタイルの置換を行う際に条件を満たす(置換されていない)タイル葉にが存在しない場面が多々できてしまいます。

説明の順番的に1マスサイズの置換を先に登録しましたが、本来は最後にまわすのが良いでしょう。


いろいろな置換

影タイルの置換

影ペンで書いた「影」の置換も可能です

画像例では「壁端の右側の影」を「丸みのあるBタイルの影タイル」に置換しています。

仕様上、影のみのマスは検知されません!

そのため、影のみのマスの上にはイベント画像「オブジェ空マス」など何らかのイベントを配置してください。

これで基本的にOKなのですが……

まれに置換すべきでないアンチパターンが存在します。



丸み影の下にも影が続く場合は、通常の影に戻してあげましょう。
(※見やすいように「オブジェ空マス」イベントを右にずらしてます)


「条件Not」で置換条件を絞る<中級>

2つのルール(丸み影への置換、アンチパターンの修正)を「条件Not」を使って1つにまとめることもできます。

(右側は見やすいようタイルのみ)
(※左下の何もないマスにも「オブジェ空マス」を配置する必要があるので注意)

壁タイルからみて右下のマスに影がある場合には置換は行われません。


このように「条件Not」を使うことで、より条件を絞った置換を行うことが可能です!


…ただし、「条件Not」を使うとルールが複雑になりやすいので、今回のように2つのシンプルなルールに分けられる場合は無理に「条件Not」を使う必要はないでしょう。

また、「AでもBでもない場合」といった複数の条件に対応できない欠点もあります。


「条件シェイプ問わず」で柔軟に置換<上級>

「条件Not」とは逆に条件を緩めて「オートタイルのシェイプを問わず処理」させることも可能です。

ここでは、FSMの森マップの木の葉っぱタイルの例で解説します。

天井タイルの木の葉っぱの下に、「葉先」と「影」の2タイルを下にくっつけます。

天井のオートタイルシェイプごとにルールを設定すればよいのですが…


実際には天井タイルはいろんなシェイプを取り得るので、すべてのシェイプに対応するのは骨が折れます…


そこで、「条件シェイプ問わず」を活用します!


少し複雑ですが、たった1つのルールで記述できます!



簡単に解説を加えると、天井タイルに対して…

オートタイルのシェイプを問わず…

かつ、下に天井タイルが…

続いていない場合(条件Not)に…

葉先と影タイルを追加!


といった具合です。

ただし、これだけではうまく動きません。
まず、上の天井タイルが置換後に消えてしまいます。

上の「条件シェイプ問わず」のイベントを開き、メモ欄に「<noErase>」と記述すればOKです。


これで、対象の天井タイルはシェイプを維持して消されることもありません。

次に、「条件Not」に指定しているタイルについても、「シェイプ問わず」の条件と「タイルを消去しない」設定が必要です。

イベントを開き、メモ欄に「<noShape><noErase>」と記述すればOKです!


(※上マスの「条件シェイプ問わず」のイベント画像をあえて「なし」にして、メモ欄に「<noShape><noErase>」と両方記述することもできます。設定タイルが見えやすくなるので、場合によって活用しましょう。)



手動で置換プロセス実行<中級>

ここまでの設定方法はすべてテストプレイを開始した際に自動で実行されます。

  1. 壁・天井の自動補完
  2. 置換プロセスの自動実行
  3. 操作の開始

置換プロセスのグループ登録を行うことで、自由なタイミングでグループごとに置換を行うことができます。


グループ登録

イベント画像「置換グループ」を設置すると、それより右側がグループとして登録されます。
(※登録されたルールは自動実行されません)

ここでは、先程の洞窟の「壁・天井・崖フチの装飾バリエーション置換」をグループ化してみました。

テストプレイを実行し、「Escキー」を押すとメニューが現れるので「置換プロセスの手動実行」を選択し、

「置換プロセス:グループ:1」の下の「└抽選モード」を選んでみましょう!


「置換プロセス:グループ:1」を選ぶとマップ全体に対して1度だけ置換プロセスが実行されますが、

その下の「└抽選モード」を選ぶと、通常の床装飾やオブジェクトの抽選作業と同じ用に、「部屋ごとの抽選&ロック」形式で置換プロセスを再実行することが可能です。

装飾バリエーションのような確率的な置換プロセスは、この抽選モードを使って気に入ったパターンが引けるまで置換を繰り返すと良いでしょう。

動画では、壁装飾がかなりうるさい感じになってるので、リージョンIDで「置換確率」や「置換候補の重み」を調整すると良いでしょう。


床装飾のバリエーション置換

抽選&ロックした床装飾タイルをバリエーションパーツに置換したい場合にも「グループ化して手動実行」する必要があります。

テンプレートに登録時には、新たにイベント画像「置換グループ」を設置してその右側に登録しましょう。

これらのルールは「グループ:2」として登録されます。
(※同じ用に「置換グループ」をまた配置すると、その右側は「グループ:3」となります)


テストプレイで「床装飾の抽選」と「オブジェクトの抽選」といったすべての作業が終わってから手動置換プロセスを呼び出しましょう。
(※中途半端なタイミングで置換を行ってしまうと、その後の床装飾抽選作業や再抽選時の復元に失敗してしまいます)

「Escキー」でメニューを呼び出し、
「置換プロセスの手動実行」→「置換プロセス:グループ:2」を実行しましょう。


(※置換確率を設定する場合は、「└抽選モード」で呼び出してもよいでしょう)

以上が置換機能の使い方の一通りの解説となります!

置換ルールを設定する手間はかかりますが、「大きなサイズのマップ」を作る際や「同じタイルのマップをたくさん作る場合」には総作業時間を大きく短縮できるはずです!


床装飾やオブジェクトの抽選機能を使わない場合も、
「Escキー」から「手動プロセス実行」「全処理の取り消し」を実行してから任意の置換プロセスを手動実行することで置換処理だけを実行できます。


ぜひ、使い方を覚えて活用してみてください!


↓応用例の紹介記事も書きましたので次にどうぞ!


 

If you liked this article, support the creator with a tip!

Sending tips requires user registration.Find details about tips here.

導入と基本的な使い方【マップ自動装飾プラグイン】

クラウドファンディングで支援をいただきながら開発中の「マップ自動装飾プラグイン」の導入と基本的な使い方を解説するスタートアップ記事です。



ちなみに、本プラグインは開発途上で機能を拡張していっているため詳細なマニュアルの整備は現状では考えていません。

編集モードでの各種機能の使い方は「エディタ上のガイド表示」


編集用のパラメータ設定やプラグインコマンドの使い方は「サンプルプロジェクトでの使用例や注釈コメント」

を参考に使い方を探ってもらいたいという想定ですが…

あまりにも投げっぱなしな気もしたので、プラグインに慣れるためのとっかかりとして本記事を書くことにしました!


かなり長いですが、こまかく噛み砕いて説明していくので
ぜひ手元で実際に操作しながら読み進めてみてください!



導入方法

プラグインのインポート

「materials/plugins」フォルダ内にあるプラグインファイルをプロジェクトの「js/plugins」フォルダにコピペして

プラグイン設定で導入しましょう。



「拡張:マップオブジェ」プラグインや「限定プラグインセット」を所持してる方はサンプルプロジェクトでのプラグイン順を参考に導入してきましょう。



キャラクター画像のコピペ

「materials/characters」フォルダ内の画像もプロジェクトの「img/characters」フォルダにコピペします。

これは、自動装飾用の「テンプレートマップ」の設定に使用します。


サンプルマップのコピペ

さて、今度は一度サンプルプロジェクトをツクールで開きます。

ここでは2つのマップをご自身のプロジェクトにコピペしていきます。

  • 「テンプレート:洞窟」マップ
  • 「サンプル:洞窟」マップ

(※手っ取り早く試したい場合は、サンプルプロジェクト内で以下の内容を進めてもOK!)



基本的な使い方

ベース床の設定

テンプレートマップ準備

テンプレート用のマップを新規作成で用意しましょう。

サイズは横に大きめに「50x30」とか。随時、横方向に延ばしていくことになります。

ここでは「炎の洞窟」を作っていくことにしましょう!

ベース床の設定準備

まず、サンプルプロジェクトからコピペしてきた「テンプレ:洞窟」マップから左端のイベント2つをコピペします。

上のイベントには基本的なパラメータ設定のもろもろが含まれてます。

(※このイベントで設定されてるパラメータは「洞窟マップ」を想定したものになってます。サンプルプロジェクトには他に「森」「崖」用のテンプレートも用意されてるので、用途に応じてコピペするイベントを選ぶと良いでしょう。)


下のイベントはテンプレートマップの整理用のイベントです。
列を右側にずらしたいときがいずれくると思うので、その際に活用してみてください。

タイル・リージョン・イベントをまとめてずらすことができます。


ベース床と装飾タイルの登録

ベース床

マップ自動装飾プラグインでは「ベースの床タイル」が最も基本のタイルとなります。

イベントのすぐ右側にベースとなる床を置きましょう!

床装飾タイル

次に「床の上にランダムに塗る装飾タイル」を配置して登録します!



編集マップの準備

さて、ここまでの設定で実際にマップを作ってみましょう!

編集するマップを作成しましょう。
タイルセットはテンプレートマップと同じタイルに!


次に、編集開始用の自動実行イベントをサンプルプロジェクトの「サンプル:洞窟」マップからコピペしてきます。

イベントを開きプラグインコマンドの「テンプレートマップID」を先ほど編集したテンプレマップのIDに変更しましょう。




部屋を塗る

ベース床タイルで部屋を塗りましょう!

とりあえずは床だけでOK、適当に塗ったらテストプレイ!


テストプレイで編集モード

編集開始イベントがきちんと「自動実行」になっていれば、編集モードで起動します。

編集モードでは上下左右キーで画面スクロール

編集したい部屋の上でマウスを「左クリック」すると、床装飾がランダムで塗られます!


気に入らなければ何度も「左クリックで再抽選」を行い、

いい感じの装飾になったら「右クリックでロック」しましょう!


バリエーションロック

なかなか思い通りの装飾パターンにならないときは、「Shift+右クリックでバリエーションロック」機能を活用しましょう。

左クリックで床装飾の抽選するたびに、床装飾タイルが数種類選ばれます。

(※部屋の大きさ(タイル数)に応じてタイル種類数が固定されます。タイル数に応じた種類数は設定で変更可能です)

まずは部屋に合った装飾床のパターンが出たときに「Shift+右クリック」のバリエーションロックでタイル種類を固定してから塗りの抽選をすることで、

素早く部屋にマッチした装飾パターンを引き当てられますよ!


床装飾の手動編集

ある程度気に入った装飾が抽選できてロックしたら、手動編集機能で細かく調整することができます。

編集したい装飾タイルの上で「Ctrl+左クリック」を押すと手動編集モードに入ります。

  • 対象タイル上で「左クリック・ドラッグ」で装飾タイル消去
  • 対象タイルが無い部分で「左クリック・ドラッグ」で塗り拡げられます
  • 「Ctrl+左クリック」で編集する装飾タイルをスポイトのように切り替えられ
  • 編集が終わったら「右クリック」で手動編集モード解除です

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

エディタ上で最後の調整をしてもいいですが、レイヤーを気にせず編集できるので使い勝手が良いですよ!


マップの保存と反映

「Ctrl(以下、MacはCmd)+S」で保存してからテストプレイを終えましょう。

ツクールMZではダイアログが出てくるので「OK」を押すとリロードされます。

一方、ツクールMVでは「プロジェクトを開き直す必要」があります。

  • 「Ctrl+Oキー」でプロジェクトを開く
  • 「Gキー」を押すとgame.rmmzprojectにカーソルが合うので
  • 「Enterキー」で決定

「Ctrl+O」 → 「gキー」→ 「Enter」

頻繁に使うので操作を覚えておきましょう!


マップの復元

さて、編集内容がエディタに反映されました!

…のはいいですが、ここでは操作説明のために一度マップを元に戻します!


テストプレイを開始したら「Escキー」を押してメニューを開き

「バックアップから復元」を選択してEnterで決定。

テストプレイを終えて同じようにマップをリロード(MVはプロジェクト開き直し)を行いましょう。


編集マップはバックアップを

さて、おもむろに編集用マップをコピペして複製しておきましょう。


ここでは操作を覚えるためにいろいろ試していくので、バックアップから復元の手間を省くためにバックアップしておきます。

実際にマップを編集する際も、バックアップをとっておくとよいですよ!


オブジェクトの登録

床装飾タイルに続いて、床の上に配置する「オブジェクト」の登録を行っていきます!

ベース床タイルから1マス開けた列に、1マスサイズのオブジェクトを縦に並べて配置していきます。


ここで、リージョンIDを使って「オブジェクトの現れやすさ」を調整できます。

例えば、岩のタイルをより多く配置したい場合は、リージョンID「2」を岩タイルの上に塗れば2倍現れやすく、「3」にすれば3倍現れやすくなります!


(※床装飾もリージョンを塗れば選ばれやすさを調整できますよ!)

大きなサイズのオブジェクトの登録

サイズが2タイル以上の大きなオブジェクトは更に1マス開けて右の列に登録します。
注意点がいくつか!

  • オブジェクトごとに下に1マス開ける

  • リージョンによる現れやすさの重み付けは左上に塗ればOK

  • オブジェクトは長方形になるように配置。空マスになる部分にはイベントを設置して画像を「DecoratorInfo」の「オブジェ空マス」にして長方形を埋める


部屋の分割

さて、オブジェクトの設定が終わったのでテストプレイで編集を!
……する前に、部屋を増やしてみましょう!

適当に部屋をベース床タイルで塗って通路でつなぎます。

装飾やオブジェクトの抽選は「部屋」単位で行います。

部屋として区切るにはリージョンID「1」で通路を遮るように塗ります。

あまり部屋が大きすぎると抽選で気に入ったパターンを引くのが大変になります。

リージョンを使って適度に区切りましょう!


オブジェクトの抽選編集

では、テストプレイを!

先ほどと同じように部屋の上で「左クリック」で床装飾を抽選し、「右クリック」でロック!

そのまま同じように「左クリック」を押すと次はオブジェクトの抽選を行えます!

気に入る配置になるまで「左クリック」で抽選を行ったら、「右クリック」でオブジェクトをロックして完了!


オブジェクトの手動編集

床装飾と同じように、編集したいオブジェクトの上で「Ctrl+左クリック」で手動編集モードに入ります。

  • オブジェクト上で「左クリック」で削除
  • 適当な場所で「左クリック」で配置
  • 他のオブジェクトの上で「Ctrl+左クリック」で編集対象を変更(スポイト)
  • 「右クリック」で編集終了

という操作です!
https://twitter.com/thiropGames/status/1594276512642891776

画面左上のガイドにも操作方法が書いてあるので、わからなくなった場合はガイドを見ましょう!


次の部屋の編集

カーソルキーでスクロールし、次の部屋の上で「左クリック」すると同じように「床装飾の抽選」が行われます。

編集モードでは

「床装飾の抽選&ロック」→「オブジェクトの抽選&ロック」

→「次の部屋の床装飾の抽選&ロック」→「オブジェクトの抽選&ロック」

という流れを繰り返していきます!


操作を巻き戻したいときは「Shift+右クリック」でロックを解除してやり直せます。

全ての部屋の編集が終わったら、「Ctrl+S」で保存しましょう。
データのリロードをすると編集内容が反映されてますね!



壁・天井の設定

まだまだつづきますよ!「床・天井」の設定です!

テンプレートに戻り、今度は「床・天井」設定用のイベントを配置します

キャラ名「DecorationInfo」で「床・天井タイル」の画像に設定します。

このイベント画像を設置すると、右側が「床・天井タイルの設定領域」となります。

右のマスに「(オートタイル)の天井」を配置し、

その下に「(オートタイルの)壁タイル」を壁の高さ分だけ配置します。


(※のちのちオートタイル以外のA5・B~Eタイルに置換する機能を追加予定ですが、いずれにせよいったんオートタイルとして配置が必要です。)

壁・天井の自動プロセス

テストプレイを開始すると、いきなり壁・天井が設置されてます!

試しに壁の高さを変えると…

テストプレイ開始時にちゃんと反映されてます!


補足)天井のオートタイル処理

天井については2パターン処理方法が用意されており、「編集マップ」のイベントページにてパラメータ設定が可能です。


(isEmptySpaceCeling:false,のfalseをtrueにして切り替え)

ちなみに、このイベントでは「編集モードのエディタ設定」も可能です。
編集時のウィンドウサイズや、タイルの縮小率などなど。

設定パラメータにはコメントで注釈がついてるので、一通りどんなパラメータがあるか見てみると良いでしょう。


床装飾タイルごとの設定

さて、ここから少しだけ応用的な内容に入ります…!

オブジェクト設置時に気づいたかと思いますが、

問答無用で穴の上にオブジェクトが置かれます…!



この問題を解決するには「装飾タイルの詳細設定」が必要です。

イベントを配置して「DecorationInfo」の「装飾タイル設定」の画像にし、その右に設定対象の「装飾タイル」(ここでは穴タイル)を置きます。

この右側は「装飾タイル用の設定ゾーン」となるわけですが、ここで行う設定は「オブジェクトの配置を禁止」するのみです。


そのためには「装飾タイル設定イベント」の下に「オブジェ設定無効」の画像イベントを設置します。

これで、ベースタイルのオブジェクト設定が無効化されます。

早速、テストプレイで確認してみると…

穴タイルの上にはオブジェクトが配置されませんね!


床装飾に応じたオブジェクト配置

例えば、苔タイルの右側にオブジェクトをベース床タイルと同じように

1列あけて「1マスサイズのオブジェクト」

また1列あけて「2マスサイズ以上のオブジェクト」

と配置することで、苔タイル上にはベース床とは異なるオブジェクトを配置することが可能です!


水場タイルの設定

水場タイルは「床装飾タイル」とは別枠での扱いとなります。

イベントで「水場タイル設定」の画像を設置すると、右側が「水場タイル設定ゾーン」となります。

とりあえずベースとなる水場タイルを配置すればOK!!


…火山の水場(マグマ)タイルにはこれ以上設定する余地がありませんが、

「ベース床設定」と同じように「装飾床」「オブジェクト」の設定も可能です!

水場タイルの下に「装飾タイル」

右に1列あけて1マスサイズのオブジェクト列、

(※さらに1列あけて、2タイル以上のオブジェクト列)

という並びはこれまで通り!


水場のロック

テストプレイを開始して「左クリック」で床装飾の抽選を行うと、確率で水場タイルも現れるようになります。

「Shift+右クリック」での床装飾の種類を固定するバリエーションロックとは別に、「Ctrl+右クリック」で水場タイルの地形のロックを行うことも可能です。
(※水場を配置したくないときも「Ctlr+右クリック」でロックしておけばOKです)


タイルの事前配置

水場のような重要な地形は事前にマップに塗っておいてもOKです。

事前に塗ったタイルについてもちゃんとオブジェクトが配置されますよ!



崖の設置

最後に「崖壁」「崖フチ」タイルの設定です!

……ですが、炎の洞窟用の「崖・崖フチ」タイルが無いので「テンプレート:森」マップの設定で解説します!


イベントの画像を「DecorationInfo」の「崖・フチタイル設定」にして、

右に「崖フチタイル」「崖壁」「崖フチサブタイル」を順に配置します。

サブタイルにはマップに使わない適当な「崖フチ」種類のタイルを登録します。

サブタイルについては後述!

崖・崖フチの配置

「編集マップ」に崖を配置しましょう。

崖壁と崖フチを適当に配置するのみ!

重要な点は2つ!

  • 崖壁の高さを揃える
  • 崖フチが融合しちゃうときはサブタイルで塗り分ける

崖壁の高さを揃える

揃ってないとオートタイルの自動処理が崩れてしまいます…

揃えましょう!



複雑な地形でどこの高さが間違ってるかわからない場合は、

「Escキー」でメニューを表示して「Z値マップの表示」を選択すると、内部で計算された高さがマップ上に表示されます!

数値が連続になってない部分を見つけて修正しましょう!


(※この画像例では、ちゃんと高さがあってます!)

サブタイルの塗り分け

崖フチが隣り合ってると融合してしまいます…!

どちらかをテンプレートに登録したサブタイルで塗りましょう。

テストプレイすると、ちゃんとメインの縁タイルに置き換えられています。

オートタイルのシェイプもいい感じに処理されるので、活用するのをおすすめです!


補足)壁の高さ

洞窟マップ用の設定では壁の高さは部屋全体で整合性を保つように調整されます。

どの床からも壁の高さを一律にしたいときは「編集マップ」の開始イベントでパラメータ設定可能です。

↓「arrangeTotalHeight:false,」のtrue↔falseで切り替え





基本的な使い方の解説は以上となります、おつかれさまでした!

一通り使い方を見てきた今なら、各種パラメータ設定についてもなんとなく理解できるかと思います。

ベース床設定」のイベントでは【ベース床設定】【水場設定】が可能です。

「床装飾を塗る割合」「オブジェクトの配置割合」などは変更することも多いでしょう。

今回編集した炎の洞窟も、配置するオブジェクトの数が少し多い印象なので、「floorObjRate」を少し下げると良いでしょう。



また、「編集開始」のイベントの方では【マップ設定】【プロセス設定】【エディタ設定】が可能です。


「壁や天井の自動処理の方法」や、「エディタモード時のウィンドウサイズ」などを設定可能です。

慣れてきたら、いろいろパラメータをいじってみてください!



機能は随時拡張されていきますので、紹介動画&記事もできるだけ書いてこうと思います!

また、本記事でプラグインに興味を持って頂いたかたはぜひご支援の方もよろしくお願いします!!(来年の1月末までです!)

それではまた!


□次の記事

1 tips have been sent.

Sending tips requires user registration.Find details about tips here.

4 5 6 7 8 9 10

Monthly Archive

Search by Exclusive Perks

Search Articles