導入と基本的な使い方【マップ自動装飾プラグイン】
クラウドファンディングで支援をいただきながら開発中の「マップ自動装飾プラグイン」の導入と基本的な使い方を解説するスタートアップ記事です。
ちなみに、本プラグインは開発途上で機能を拡張していっているため詳細なマニュアルの整備は現状では考えていません。
編集モードでの各種機能の使い方は「エディタ上のガイド表示」
編集用のパラメータ設定やプラグインコマンドの使い方は「サンプルプロジェクトでの使用例や注釈コメント」
を参考に使い方を探ってもらいたいという想定ですが…
あまりにも投げっぱなしな気もしたので、プラグインに慣れるためのとっかかりとして本記事を書くことにしました!
かなり長いですが、こまかく噛み砕いて説明していくので
ぜひ手元で実際に操作しながら読み進めてみてください!
導入方法
プラグインのインポート
「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月末までです!)
それではまた!
□次の記事