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

クラウドファンディングで支援をいただきながら開発中の「マップ自動装飾プラグイン」の目玉機能の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キー」から「手動プロセス実行」「全処理の取り消し」を実行してから任意の置換プロセスを手動実行することで置換処理だけを実行できます。


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


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


 

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

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

月別アーカイブ

記事を検索