Creation Manual

RPGマップ ドア

素材の準備

ドア素材の規格

画像サイズは4の倍数になるようにしてください (半端なサイズの場合は右下に余白を入れる)
1つの画像に収めるドアは全て同じサイズになるようにしてください
ドア素材は横並びで左に閉った画像、右に全開の画像となるように配置してください
開閉アニメーションのフレーム数に制限はありません
描画するものが無いフレームは素材内に含める必要はありません
なるべく512x512ピクセル以下になるように作るのが望ましいです
また、1つのマップ内で使用される画像の枚数が少ない方が処理負荷が軽くなります

ドア画像のインポートとスプライトの設定

用意した素材画像を Assets/AssetBundles/Maps/Door/Sprites フォルダにドラッグ&ドロップしてください
次に、追加した画像を選択してインスペクターから以下の項目を設定してください
設定が完了したら『Apply』ボタンを押して変更を確定してください
TextureTypeSprite (2D and UI)
SpriteModeMultiple
PixcelsPerUnit32
GeneratePhysicsShapeOff
FilterModePoint (no filter)
CompressionHighQuarity

次に『SpriteEditor』ボタンを押してスプライト編集画面を開いてください
編集画面よりメニューバーの『Slice』をクリックして以下の項目を設定してください
値を設定したら左下の『Slice』ボタンをクリックしてください
※ 画像に余白を入れている場合は Type を GridByCellSize にしてサイズ指定を使用してください
TypeGrid By Cell Count
Column & Row水平個数と垂直個数
PivotBottom Center

分割された各ドアをクリックしてスプライトに適切な名前を設定してください (半角英数字を使用)
※ この作業は省略してもOKです

全ての設定が終ったら左上の『Apply』ボタンをクリックしてください

ドア プレハブの作成

ポータルドアとスルードア

ドアは「ポータルドア」と「スルードア」の2種類があります
ポータルドア:他の座標、又は、他のマップへワープさせるドア (非貫通ドア)
スルードア:ドアの反対側へ移動するドア (貫通ドア)

ドアプレハブの作成

Assets/AssetBundles/Maps/Door フォルダ内にある以下のファイルをコピーしてください
複製ショートカット Ctrl + Dキーを使うと便利です
ポータルドアを作る場合:#PortalDoorTemplate
スルードアを作る場合:#ThroughDoorTemplate
コピーしたプレハブを分かりやすい名前にリネームしてください
次にプレハブをダブルクリックして開いてください
インスペクターから AnimationSprite の size プロパティにドアのフレーム数を入力してください
画像素材の準備』の項で作成したスプライトを Element にドラッグ&ドロップで設定してください
設定する際、ドアが閉じたスプライトから順に並べてください
ドアが全開の時など表示するスプライトが無い場合は none のままにしてください
設定が終わったらヒエラルキーの『<』ボタンを押してプレハブの編集を終了してください

ドアの設置

ドアの設置

マップシーン内の RpgMap/Doors オブジェクトの子になるようにドアプレハブをドラッグ&ドロップで追加してください
追加したオブジェクトを分かりやすい名前にリネームしてください
移動ツールで設置したい場所に移動させてください
スルードアの場合は以上で完了です
ポータルドアの場合は下の『ワープポイントの作成』と『ワープ先の設定』を行ってください

ワープポイントの作成

マップシーン内の RpgMap/WarpPoints オブジェクトのを右クリックし、メニューから『Create Empty』を選択してください
新しく作成されたオブジェクトの名前をワープポイント名にリネームしてください (半角英数字)
インスペクターから『Add Component』ボタンをクリックしてください
検索ウィンドウに「RpgMapWarpPoint」と入力して RpgMapWarpPoint コンポーネントを選択してください
移動ツールを使ってワープ先に指定する場所へオブジェクトを移動させてください

ワープ先の設定

ポータルドア オブジェクトを選択してインスペクターから以下の項目を設定してください
MapSceneName ワープ先のマップシーン名。同じマップ内での移動の場合は空のままにしてください
WarpPointName ワープポイント名 (『ワープポイントの作成』の項で作成したワープポイントのオブジェクト名)
MapSceneName にシーン名を入力している場合はこの項目を空にすることができます
この項目を空にした場合は初期位置にワープします

大きなドアを作るには

※ 使用頻度は少ないと思うので簡易的な説明のみ記載します。必要になったときはエンジニアに使用法の詳細をご確認ください

入退室イベントタイル

2タイル以上の幅の広いドアを作るには入退室イベントを追加します
入退室イベントはそれぞれ以下のコンポーネントを使用します
入室イベント:RpgMapDoorEnter コンポーネント
退室イベント:RpgMapDoorExit コンポーネント

入退室イベントタイルの追加

入退室イベントタイルの追加するには以下の手順で行います
ドア オブジェクトの子に空のオブジェクトを追加します
追加したオブジェクト入室イベントの場合は RpgMapDoorEnter コンポーネント、退室イベントの場合は RpgMapDoorExit コンポーネントを追加してください
移動ツールで設置したい場所にオブジェクトを移動させてください
インスペクターから追加したコンポーネントの Door プロパティにドア コンポーネント持つオブジェクトをドラッグ&ドロップで設定してください
必要に応じて OverrideParam プロパティと OverrideParamMask プロパティを調整してください

TOP