4.5 KiB
Tile Rendering — タイルマップの共通エンジン
Tile Rendering はタイルマップを描画します。用意されたマップの記述——地面、物体、キャラクター、光——を受け取って絵に変えますが、どの角度から見るかは決めません。それを決めるのは小さなレンダラー Mod です。Top-down Tiles はマップを真上から、Isometric Tiles はひし形の格子で示します。同じマップ、同じイベント、同じセーブが、どちらでもそのまま働きます。
この Mod を直接使うことはありません。タイルマップのあるゲーム——たとえば RPG Plus——には、レンダラーを最低ひとつと一緒に必ず入っています。
役割分担
content mods maps, tilesets, events, characters (rpg_demo_game, village_pack…)
│
RPG mod (rpg) walking, collisions, events, the camera target, lighting rules
│ prepares a "render scene": visuals in cell space, lights, the current frame
▼
Tile Rendering shared drawing: ground chunks, autotiles, sorting, shading,
(this mod) asset loading, the interaction marker, picking
│ asks the selected renderer for a projection
▼
renderer mod Square (topdown) · Isometric (isometric)
how a cell maps to screen pixels
- ゲームプレイは常に正方形です。 移動、衝突、イベント、セーブは、どの投影でも論理グリッドを使います。レンダラーが変えるのは、何をどこに描くかと、クリックがどのマスに当たるかだけです。
- ゲームとエディターで描画経路はひとつ。 RPG マップエディターは、ゲームと同じレンダラーでキャンバスを描きます。
- 光と時間の流れはマス単位で与えられるため、ランプはどちらの投影でも同じマスを照らします。タイルとキャラクターは、時間の流れと点光源を混ぜる 1 つのマテリアルを共有します。
投影を選ぶ
投影はゲームの設定、マップの投影(tile.renderer)で、コレクション設定の ワールド グループにあります。選択肢は 見下ろし(topdown)と アイソメトリック(isometric)です。RPG Plus は topdown を使います。変えるには MOD とコレクション → コレクション → RPG Plus → 構成を編集 を開き、投影を設定して、対応する描画 Mod がゲームに含まれていることを確認してください。
- 設定がゲームに存在しないレンダラーを指している場合、マップは別のレンダラーに切り替わりません。利用できるレンダラーがログに並びます。
- 設定が空で、レンダラーがちょうど 1 つだけインストールされていれば、それが使われます。
- 1 回だけの実行なら、コマンドラインの
--tile-renderer=isometric(またはtopdown)が設定に優先します。
Mod 作者向け: 新しい投影
レンダラー Mod は tile_render_base に依存し、ITileRendererFactory を実装するクラスを 1 つ持ちます。
Id— プレイヤーが マップの投影 で選ぶ値。たとえばhex。Projection(tileSize)— マスから画面ピクセルへの対応付け。ゲーム・エディター・クリック判定がこれを使います。Create()— 新しいマップビュー。共通のキャンバス表示は自分の投影でも再利用できます。
ファクトリは Mod の読み込み時に自動で見つかり、Mod を外すと削除されます。投影を マップの投影 に並べるには、Top-down Tiles のように自分の Mod の collection_settings.json に選択肢を追加します。
{
"options": [
{ "key": "tile.renderer", "value": "topdown", "name": "collection_settings/topdown" }
]
}
name キーは locale/collection_settings_<lang>.properties で翻訳されます。
うまくいかないとき
- マップが空で、ログにレンダラーが利用できないと出る。 ゲームの マップの投影 が、ゲームに含まれない描画 Mod を指しています。追加するか、設定を変えてください。
