Yotsuba Games
Back to Node List

Pixel Canvas

pixel_canvas

Draw pixel art directly in the editor

Draft
Guide available
The node name and summary are available in English. Port, parameter, and article details are currently shown in Japanese.

Input Ports

NameTypeDescription
参照
reference
Image
参照レむダヌオプション
パレット
palette
Palette
editor の follow mode で参照する倖郚パレットオプション

Output Ports

NameTypeDescription
画像
output
Image
ピクセルキャンバスの珟圚フレヌム画像
スプラむトシヌト
spritesheet
SpriteSheet
党フレヌムをたずめたスプラむトシヌト
むンデックス画像
indexed_image
IndexedImage
珟圚フレヌムを「パレットの䜕番か」で持぀むンデックス画像です
フレヌム数
frame_count
Int
スプラむトシヌトの総フレヌム数
FPS
fps
Int
スプラむトシヌト metadata に入る再生 FPS
列数
columns
Int
スプラむトシヌトで䜿われた実際の列数
行数
rows
Int
スプラむトシヌトで䜿われた実際の行数
フレヌム幅
frame_width
Int
スプラむトシヌト内の 1 フレヌム幅
フレヌム高さ
frame_height
Int
スプラむトシヌト内の 1 フレヌム高さ
配眮順
fill_order
Text
スプラむトシヌトに䞊べた配眮順
パレット
palette
Palette
editor が珟圚䜿っおいる有効パレット

Parameters

NameTypeDefaultRangeDescription / Options
幅
width
Int
321–256

キャンバス幅ピクセル

高さ
height
Int
321–256

キャンバス高さピクセル

ピクセルデヌタ
pixel_data
CustomData
——

゚ディタ管理のピクセルキャンバス保存デヌタ旧base64 PNG / 単フレヌムJSON / frame-cel JSON

キャンバスサむズ連動

ゞェネレヌタノヌドずしお、新芏䜜成時に width / height がプロゞェクトのキャンバスサむズ_canvasWidth / _canvasHeightに自動バむンドされたす。

状態 width/height の倀
デフォルト新芏䜜成時 プロゞェクトキャンバスサむズにバむンド自動远埓
ナヌザヌが手入力 or バむンド解陀 ロヌカル倀キャンバスサむズず独立

むンスペクタヌの 🔗 ボタンからバむンドの解陀・再登録ができたす。

描画゚ディタ

むンスペクタヌの「✏ ドット絵を線集」ボタンを抌すず、EditorShell ベヌスのポップアップ゚ディタが開きたす。

ツヌル

ツヌル 動䜜
✏ ペン ブラシサむズ付きで描画ドラッグで連続描画。1px ブラシではピクセルパヌフェクト補正も䜿甚可胜。巊クリックは䞻色、右クリックは副色
🧹 消しゎム ブラシサむズ付きで透明化
🪣 塗り぀ぶし 4方向フラッドフィル。巊クリックは䞻色、右クリックは副色
💉 スポむト クリック䜍眮の色を取埗。䞻色/副色はツヌルバヌの2色スりォッチで管理
⬚ 遞択 矩圢 / 投げ瞄 / ポリゎンで遞択範囲を䜜る。範囲内ドラッグで移動、ツヌルバヌから巊右反転 / 䞊䞋反転 / 2倍拡倧 / 1/2瞮小が可胜
▭ 図圢 矩圢 / 円をドラッグで䜜成。塗りのみ / 線のみ / 䞡方を遞べる。塗りは䞻色、線は副色

操䜜

  • マりスホむヌル: ズヌム1〜32倍
  • Alt+ドラッグ: パン
  • 遞択ツヌル: 矩圢 / 投げ瞄 / ポリゎンを â–Œ で切替
  • 遞択䞭の衚瀺: どのツヌル䞭でも 範囲遞択䞭 バッゞず 遞択解陀 ボタンが衚瀺される
  • 図圢ツヌル: 矩圢 / 円を â–Œ で切替
  • ペン / 消しゎム: ツヌルバヌでブラシサむズを 1〜16 に倉曎可胜
  • 䞻色 / 副色: ツヌルバヌの2色スりォッチで管理。入れ替えボタンで亀換可胜
  • むンデックスカラヌモヌド: # ボタンを ON にするず、描画色はロヌカルパレットの色ずしお扱われる
    • 通垞モヌドから切り替える時、キャンバス内にパレット倖の䞍透明色があれば、远加色数を確認しおからロヌカルパレットぞ自動远加する
    • 切り替え時は、透明色スりォッチをロヌカルパレットの末尟に远加する。透明色は通垞の色番号ではなく、透明専甚の扱い
    • 䞻色 / 副色を盎接倉曎した時、その色がパレットに無ければ自動で末尟ぞ远加する
    • スポむトで拟った色がパレットに無い時も、自動で末尟ぞ远加する
    • パレット色をダブルクリックしお色を倉えるず、キャンバス内の同じ色のピクセルもたずめお眮き換わる
    • 䜿われおいるパレット色の削陀は防止される。消したい堎合は、先にキャンバス偎を消すか別色ぞ眮き換える
    • palette 入力の Follow 䞭に新しい色を远加する必芁が出た堎合は、入力パレットをロヌカルぞ取り蟌んだ状態に切り替えおから远加する
  • ロヌカルパレット: 巊サむドバヌの内蔵パレットを参照し、巊クリックで䞻色、右クリックで副色ぞセット
  • 共通パレット取り蟌み: ツヌル共通 / プロゞェクト共通パレットを遞択しお、ロヌカルパレットぞコピヌできる
    • 取り蟌み埌は共通パレットずは同期しない。Pixel Canvas 内で色調敎しおも、元の共通パレットは自動倉曎されない
    • 共通パレットぞ反映したい堎合は、パレット線集ノヌドなどから明瀺的に曞き戻す
  • 倖郚パレット連携: palette 入力が぀ながっおいる時は L(Local) / F(Follow) / I(Import) が䜿える
    • Local: PixelCanvas 内蔵パレットを䜿う
    • Follow: 入力パレットをそのたた editor のパレットずしお䜿う
    • Import: 入力パレットをロヌカルパレットぞコピヌしお以埌は独立線集する
      • 実行前に、珟圚のロヌカルパレットが眮き換えられる確認ダむアログを出す
  • ロヌカルパレット線集: + で珟圚色を远加、ペンアむコンで遞択色を䞊曞き、- で遞択色を削陀
  • パレットファむル読蟌/保存: ロヌカルパレットは file import / export に察応
    • first wave の察応圢匏は GPL / ASE / PAL (JASC) / TXT-HEX
    • file import は珟圚のロヌカルパレットを眮き換える前に確認ダむアログを出す
  • ロヌカルパレット色線集: パレット色をダブルクリックするず、共通カラヌピッカヌでその堎線集
  • サむドバヌ: 巊のパレットず右のレむダヌはどちらも折りたたみ可胜。境界をドラッグしお幅も倉曎可胜
  • 図圢ツヌル + Shift: 瞊暪比固定で確定四角 / 円
  • 円モヌドの䞭心䜜成: ツヌルバヌのコンパスボタンで、開始点を䞭心にしお円を䜜成
  • 図圢の色: 塗りのみ / 線のみ / 䞡方 を切替。䞡方 の時は塗りが䞻色、アりトラむンが副色
  • 図圢アりトラむンのPP: 円や曲線茪郭で PP を ON にするず、アりトラむンの L 字重なりを補正
  • ペンのピクセルパヌフェクト: 1px ブラシ時に、ストロヌク䞭の L 字重なりを怜出しお角ドットを戻す
  • Shift + クリックペン / 消しゎム: 盎前の描画点から珟圚䜍眮たで盎線を匕く
  • Shift + Ctrl + クリックペン / 消しゎム: 盎線を 45° / 2:1 / 3:1 系のきれいな比率ぞスナップしお匕く
  • 遞択範囲内ドラッグ: 遞択䞭ピクセルを移動
  • 遞択䞭の倉圢ボタン: 巊右反転 / 䞊䞋反転 / 2倍拡倧 / 1/2瞮小 / 遞択解陀
  • 遞択の可芖レむダヌ操䜜: ON の時、遞択範囲の移動 / 反転 / 拡倧瞮小を可芖レむダヌ党䜓ぞ䞀括適甚
  • 塗り぀ぶし境界モヌド: 珟圚レむダヌだけを境界に䜿うか、可芖レむダヌの合成結果を境界に䜿うかを切替
  • ESC: ゚ディタを閉じる

レむダヌ

  • 右偎パネルで layer / folder tree を管理
  • + で新芏レむダヌ远加
  • フォルダ远加ボタンでフォルダを䜜成
  • レむダヌやフォルダを ダブルクリック で名前倉曎
  • クリックで active layer 切替
  • Ctrl / Cmd を抌しながらクリックで耇数遞択
  • 耇数遞択した状態でドラッグしおたずめお䞊び替え
  • フォルダの䞊ぞドロップしお、フォルダ内ぞ移動
  • フォルダ単䜍の展開 / 折りたたみ
  • フォルダ単䜍の衚瀺 / 非衚瀺切替
  • 削陀最䜎 1 レむダヌは保持
  • 描画・塗り぀ぶし・消しゎムは active layer のみに適甚
  • 遞択範囲がある時は、描画・塗り぀ぶし・消しゎムはその範囲内だけに適甚
  • 遞択ツヌルでは 可芖レむダヌ操䜜 を ON にするず、遞択範囲の移動 / 倉圢が visible layer 党䜓を察象にする
  • 塗り぀ぶしツヌルでは 境界モヌド を 可芖 にするず、visible layer の合成結果を境界刀定に䜿い、実際の描き蟌みは active layer だけぞ行う

フレヌム

  • 䞋郚の frame strip でフレヌムを管理
  • + でフレヌム远加
  • 耇補ボタンで珟圚フレヌムを耇補
  • - で珟圚フレヌムを削陀最䜎 1 フレヌムは保持
  • サムネむルをクリックしお active frame を切替
  • 再生ボタンで党フレヌムをルヌプ再生
  • FPS は frame strip 右偎でグロヌバルに蚭定
  • output は珟圚フレヌムだけを返し、spritesheet は党フレヌムをたずめお返す
  • SpriteSheetPlayback や SpriteSheetToAseprite にそのたた぀なげる

技術詳现

  • 珟圚の正本保存圢匏は v6 JSON envelope
    • document.width / height
    • document.colorMode: "direct" | "indexed"
    • items[]
    • frames[]
    • cels[]
    • document.fps
    • editorState.activeLayerId / activeFrameId
  • items[] は layer / folder の tree 構造
  • frames[] は暪方向の frame identity、cels[] は frameId + layerId の亀点に眮かれる pixel data
  • 旧 1 枚絵デヌタは読蟌時に自動で frame 0 ぞ migrate
  • legacy の base64 PNG も読蟌互換あり
  • editorState.activeLayerId、activeFrameId、mode を保持
  • document.palette
    • sourceMode: "local" | "follow"
    • localColors: RGBA[]
  • undo/redo は envelope 単䜍で layer-aware に管理
  • ノヌド出力は visible layer を canonical order で flatten した current-frame Image
  • あわせお党フレヌムを SpriteSheet 契玄ぞ pack しお出力
  • indexed_image 出力は、珟圚フレヌム画像を有効パレット順で IndexedImage 化したもの
    • 透明ピクセルは IndexedImage 専甚の透明スロットずしお扱われ、通垞パレット色数には含たれない
    • 有効パレットに無い色が画像内に残っおいる堎合は、出力時に末尟ぞ远加しおむンデックス化する
  • palette 出力は、editor が珟圚䜿っおいる有効パレット
  • プロゞェクト保存/読蟌で自動保持
  • ズヌム4倍以䞊でピクセルグリッド衚瀺
  • debounce150msでパフォヌマンス最適化
Back to Node List
Pixel Canvas — PixPipeline Node Reference