ノード一覧に戻る

ライン

line_generate

Bresenham アルゴリズムで2点間に直線を描画します

確認済み
解説あり

入力ポート

名前説明
color
Color
線の色(接続時はパラメータより優先)

出力ポート

名前説明
画像
output
Image
生成されたライン画像

パラメータ

名前既定値範囲説明・選択肢
width
Int
641–1024

キャンバスの幅(ピクセル)

高さ
height
Int
641–1024

キャンバスの高さ(ピクセル)

始点X
x1
Int
00–1024

始点の X 座標

始点Y
y1
Int
00–1024

始点の Y 座標

終点X
x2
Int
630–1024

終点の X 座標

終点Y
y2
Int
630–1024

終点の Y 座標

太さ
thickness
Int
11–64

線の太さ(ピクセル)

color
Color
[1,1,1,1]

線の色(入力ポート未接続時に使用)

概要

2点間にピクセルパーフェクトな直線を引く単機能ノードです(Bresenham)。 レーザー・ロープ・ゲージ・レティクルなど、「座標で決まる直線」を数値駆動で 描きたい時に使います。

使い方のポイント

  • 端点を📌入力ピン化して波形・path_sample の座標をつなぐと、 動く線(ビーム・つながるロープ)になる
  • 曲線・複雑な形は bezier_path + path_stroke の領分。 こちらは「数値2組で引ける」手軽さが取り柄
  • 2px以上は円ブラシによる太らせ。水平・垂直線の断面は指定した thickness と同じピクセル数になる

関連ノード

  • path_stroke — 曲線・スタイル付きの線
  • shape_generate — 他の基本図形
  • expression_vec2 — 端点座標の計算
  • blend — 背景への重ね

キャンバスサイズ連動

ジェネレータノードとして、新規作成時に width / height がプロジェクトのキャンバスサイズ(_canvasWidth / _canvasHeight)に自動バインドされます。 また、新規作成時の終点は現在の右下ピクセル、つまり x2 = width - 1 / y2 = height - 1 で初期化されます。終点はバインドされず、以後は自由に編集できます。

状態 width/height の値
デフォルト(新規作成時) プロジェクトキャンバスサイズにバインド(自動追従)
ユーザーが手入力 or バインド解除 ローカル値(キャンバスサイズと独立)

インスペクターの 🔗 ボタンからバインドの解除・再登録ができます。

アルゴリズム

  • 1px 太さ: Bresenham のラインアルゴリズム(正確なピクセルライン)
  • 2px 以上: Bresenham の各点に円形ブラシを適用
  • 奇数幅のブラシはライン座標を中心に対称に配置される
  • 偶数幅は整数ピクセル上で完全対称にできないため、ブラシ中心をライン座標から 右下へ 0.5px ずらす。例えば 2px は座標 0, +1、4px は -1, 0, +1, +2 の配分になる
  • キャンバス外に出たブラシ部分はクリップされる

使用例

  • LineGenerate → Blend → Preview — 直線の描画
  • TimeSource → SineWave → Remap → LineGenerate(x2) → AnimationRender — 線の端点アニメーション
  • ColorPicker → LineGenerate(color) — 任意色でライン描画
ノード一覧に戻る
ライン — PixPipeline ノード解説