ノード一覧に戻る

ルール描画

rule_render

ルールキャンバスをルールタイルセットとルールセットで解決し、画像として描画します。

確認済み
解説あり

入力ポート

名前説明
ルールタイル素材
asset
RuleTileAsset
タイルセットとルールセットの束ねです(個別入力より優先)。
警告
warnings
Text
ルール未接続や配置リスト補正の警告です。
ルールキャンバス
canvas
RuleCanvas
解決するルールキャンバスです。未接続時は配置リストから作ります。
配置リスト
cells
List<Any>
ルールキャンバス入力がない時に使う配置指示リストです。
ルールタイルセット
tile_set
RuleTileSet
描画に使うルールタイル画像セットです。
ルールセット
rule_set
RuleSet
どのタイルを置くか決めるルールセットです。

出力ポート

名前説明
ルールキャンバス
canvas
RuleCanvas
今回使ったルールキャンバスです。
解決済みルール配置
resolved
RuleResolved
各セルに置くタイルが決まった結果です。
画像
image
Image
描画結果の画像です。
配置タイル数
tile_count
Int
実際に置かれたタイル数です。
概要
summary
Text
結果の短い説明です。

パラメータ

名前既定値範囲説明・選択肢
キャンバス名
canvas_name
Text
Rule Canvas

配置リストからルールキャンバスを作る時の名前です。

レイヤー名
layer_name
Text
Layer 1

配置リストから作るレイヤー名です。

width
Int
81–4096

配置リストから作るキャンバスの横マス数です。

高さ
height
Int
81–4096

配置リストから作るキャンバスの縦マス数です。

表示時刻(ms)
time_ms
Float
00–600000 / step 1

アニメーションタイルのフレームを選ぶ時刻(ms)です。静止タイルには影響しません。

フレーム番号
frame_index
Int
-1-1–4096

-1 の時は表示時刻(ms)を使います。0以上を指定すると フレーム番号 ÷ fps の時刻で描画します。

FPS
fps
Int
81–60

フレーム番号指定の時に使う1秒あたりのフレーム数です。

配置リストの読み方
cell_mode
Enum
TileIndex

配置リストの値をどう読むかです。

  • タイル番号TileIndex
    配置リストをタイルセット内の番号として読みます。
  • タイルIDTileId
    配置リストをタイルIDとして読みます。
  • 素材IDMaterialId
    配置リストを素材IDとして読みます。

概要

ルールキャンバスを解決して画像化するレンダーノードです。rule_canvas 自身も プレビューは出せますが、タイルセットやルールを差し替えて比較したり、 時刻指定でアニメタイルの特定フレームを描いたりする場合はこちらを使います。

使い方のポイント

  • 同じキャンバスに別のタイルセット・ルールをつなげば「見た目差し替え」が できる(昼マップ/夜マップをキャンバス共通で)
  • アニメタイルは time_ms を📌入力ピン化して時刻駆動、 全フレーム一括なら rule_animation_render
  • 出力画像は普通の Image なので、後段の仕上げフィルタにも流せる

関連ノード

  • rule_canvas — 解決対象の供給元
  • rule_animation_render — 全フレームのシート化
  • rule_set_preset / rule_set_editor — タイルセット・ルールの供給
  • tiled_map_export — resolved の書き出し

何をするノードか

RuleCanvas(または配置リスト)の各マスについて、ルールセットの近傍条件を評価して置くタイルを決め、 解決結果(RuleResolved)と描画画像を出力します。

配置リストがmap面積より短い場合はEmptyで補い、余剰要素は無視します。負の番号、 非整数Float、解釈できない値もEmptyとして出力を継続し、それぞれの件数を warningsへ表示します。MaterialIdを使いRuleSetが未接続の時もfallback結果と理由を警告します。

アニメーションタイルの時刻指定

ID 名前 説明
time_ms 表示時刻(ms) アニメタイルのフレームを選ぶ時刻です。変数・アニメーションに昇格できます。
frame_index フレーム番号 -1 で無効。0以上なら フレーム番号 ÷ fps の時刻で描画します。
fps FPS フレーム番号指定の時に使います。

全フレームをまとめて出したい場合は ルールアニメーション描画 を使います。

つなぎ方の例

RuleCanvas.canvas      -> RuleRender.canvas
RuleSetPreset.tile_set -> RuleRender.tile_set
RuleSetPreset.rule_set -> RuleRender.rule_set
RuleRender.resolved    -> TiledMapExport.resolved
ノード一覧に戻る
ルール描画 — PixPipeline ノード解説