|
deki-tiledmapeditor-integration 0.19.0
Deki パッケージリファレンス
|
Tiled Map Editor との連携。.tmj ファイルをプロジェクトに置くと、エディターがストリーミング可能なバイナリのタイルマップにベイクします。
リポジトリ: github.com/dekiengine/deki-tiledmapeditor-integration · 最新リリース: 0.19.0 · エンジン 0.19.0 以降が必要 · 依存: deki-2d, deki-rendering
DekiEditor --packages-add deki-tiledmapeditor-integration <project> か、パッケージマネージャーからインストールします。エンジン自身のコンポーネントと C++ API は Deki のドキュメントにあります。
エディターでは Tiled Map Editor Integration と表示されます。
| コンポーネント | カテゴリ | 説明 |
|---|---|---|
| TilemapColliderComponent | タイルマップ | タイルマップのレイヤーにあるタイルごとの衝突形状を、クエリで使えるようにします。 |
| TilemapComponent | タイルマップ | Tiled のマップを描きます。カメラの周りのチャンクを順次読み込みます。 |
| TilemapObjectSpawner | タイルマップ | シーンの読み込み時に、Tiled マップのオブジェクトレイヤーからオブジェクトを生成します。 |
ビルドから外せる部分です。define を持つ機能はその define で切り替わり、それ以外はコンポーネントと一緒に取り除かれます。
| 機能 | define | デフォルト |
|---|---|---|
| Tilemap Rendering | DEKI_FEATURE_TILEMAP_RENDER | オン |
| Tilemap Collision | DEKI_FEATURE_TILEMAP_COLLISION | オン |
| Object Layers | DEKI_FEATURE_TILEMAP_OBJECTS | オン |
タイルマップのレイヤーにあるタイルごとの衝突形状を、クエリで使えるようにします。
インスペクターでの名前: タイルマップコライダーコンポーネント · カテゴリ: タイルマップ · 型: DekiTiledMap::TilemapColliderComponent
| プロパティ | 型 | デフォルト | 制約 | 説明 |
|---|---|---|---|---|
| tilemap | AssetRef (Tilemap) | "" | タイルを当たり判定にするマップです。 | |
| collisionLayer | int32 | 0 | マップのどのレイヤーに衝突用のタイルがあるかです。そのレイヤーにタイルがあるマスは通れず、空のマスは通れます。 | |
| loopX | bool | false | ループするマップに合わせて、当たり判定を横方向に繰り返します。 | |
| wrapPeriodX | int32 | 0 | loopX が許すときに表示 | 横方向の 1 回分の繰り返しの幅 (タイル数) です。0 ではマップ自体の幅を使います。 |
| loopY | bool | false | 当たり判定を縦方向に繰り返します。 | |
| wrapPeriodY | int32 | 0 | loopY が許すときに表示 | 縦方向の 1 回分の繰り返しの高さ (タイル数) です。0 ではマップ自体の高さを使います。 |
Tiled のマップを描きます。カメラの周りのチャンクを順次読み込みます。
インスペクターでの名前: タイルマップコンポーネント · カテゴリ: タイルマップ · 型: DekiTiledMap::TilemapComponent
| プロパティ | 型 | デフォルト | 制約 | 説明 |
|---|---|---|---|---|
| tilemap | AssetRef (Tilemap) | "" | Tiled から書き出したマップです。 | |
| visibleLayerMask | int32 | 2147483647 | マップのどのレイヤーを描くかを、レイヤーごとに 1 ビットで指定します。すべてのビットを立てるとすべて描きます。 | |
| chunkPadding | int32 | 1 | 画面の端の外側で、読み込んで描いておくチャンクの数です。少し余白があると、スクロール中に端でタイルが突然現れるのを防げます。 | |
| chunkCacheKiB | int32 | 256 | 16 から 262144 | このマップがデコード済みのチャンクを保持できるメモリ量 (KiB) です。上限を超えると最も長く描かれていないチャンクから捨てられ、必要になったときにストレージから読み直します。そのため小さすぎると、何かが欠けるのではなく、スクロール中のカクつきとして現れます。ESP32 には 256 が向いており、デスクトップならずっと多く使えます。 |
| tintColor | Color | "#FFFFFFFF" | すべてのタイルに乗算します。白ならマップはそのままです。 | |
| pixelsPerMeter | float | 16 | 1 から 256 | マップの何ピクセルで 1 メートルになるかです。これでマップとシーン内のほかのものの位置が揃います。 |
| loopX | bool | false | マップを横方向に繰り返し、端を越えてスクロールすると反対側につながります。 | |
| wrapPeriodX | int32 | 0 | loopX が許すときに表示 | 横方向の 1 回分の繰り返しの幅 (タイル数) です。0 ではマップ自体の幅を使います。 |
| loopY | bool | false | マップを縦方向に繰り返します。 | |
| wrapPeriodY | int32 | 0 | loopY が許すときに表示 | 縦方向の 1 回分の繰り返しの高さ (タイル数) です。0 ではマップ自体の高さを使います。 |
sortingOrder, ignoreClip, pixelSnap, alphaMode を RendererComponent から継承します。
シーンの読み込み時に、Tiled マップのオブジェクトレイヤーからオブジェクトを生成します。
インスペクターでの名前: タイルマップのオブジェクト生成 · カテゴリ: タイルマップ · 型: DekiTiledMap::TilemapObjectSpawner
| プロパティ | 型 | デフォルト | 制約 | 説明 |
|---|---|---|---|---|
| tilemap | AssetRef (Tilemap) | "" | オブジェクトレイヤーを読み込むマップです。Tiled で配置した各オブジェクトがシーンのオブジェクトになります。 | |
| pixelsPerMeter | float | 16 | 1 から 256 | マップの何ピクセルで 1 メートルになるかです。これで生成したオブジェクトが Tiled で置いた位置に来ます。 |
変更履歴は英語です。
それ以前のリリース: CHANGELOG.md
パッケージのリフレクションデータから生成しています (エンジン 0.19.0)。プロパティ名はシーンファイルで使われるキーです。名前を変えても別名が残ります (互換性)。