【Blender 5.2】Image Coordinates(画像座標)ノードとは?Uniform・Normalized・Pixelの違いと使い分けを解説:Compositor

blender
記事内に広告が含まれています。

Blender のコンポジタエディタで使えるImage Coordinates(画像座標)ノードは、画像上の位置情報を取得するためのノードです。

コンポジットでは、画像そのものだけでなく位置情報を利用して、グラデーションやマスク、各種エフェクトを作りたい場面がたくさんあります。

Image Coordinatesノードは、そのために使用する3種類の座標を出力します。

  • Uniform
  • Normalized
  • Pixel

これらの出力が実際どのような値なのかがわかれば、コンポジットやビデオ編集で作成できるエフェクトの幅も広がります。

この記事では、それぞれの違いと、どんな場面で使い分けると使いやすいのかをまとめていきます。

スポンサーリンク

Image Coordinatesノードとは?

Image Coordinatesノードは、入力した画像に対して各ピクセルの座標情報を生成します。

通常の画像は「色(RGB)」や「アルファ」を持っていますが、このノードではそれらではなく、
「このピクセルは画像のどの位置にあるのか」という位置情報を出力します。さまざまなノードの基準の位置情報として使用されるのでとても重要なノードです。
この座標は、他のノードと組み合わせて

  • マスクを作る
  • グラデーションを作る
  • 距離を計算する
  • ノイズの基準にする

といった用途で利用できます。

Image Coordinatesノードからの出力には3種類の座標があります。

  • Uniform出力
  • Normalized出力
  • Pixel出力

以下それぞれについて解説しています。

スポンサーリンク

❶Uniform出力

Uniform出力画像の縦横比の影響を受けない正規化座標です。

画像の中心が(0,0)となり、画像の最も長い辺を基準にスケーリングされます。

例えば

  • 横1080×縦1080の1:1の画像
    • 真ん中を(0,0)としてX方向-1~+1、Y方向-1~+1の値として座標が出力されます。
  • 横1080×縦540の2:1の画像
    • 長い方、この場合は横のX方向が-1~+1としてマッピングされる。真ん中を(0,0)として縦のYは-0.5~+0.5として座標が出力されます。

どんな画像でも長い辺が-1~+1となって同じ座標系として扱えるため、エフェクトの見え方が変わりにくいという特徴があります。

Shader EditorのObject座標に近い感覚で利用できます。

向いている用途

座標の比率が歪まないので、テクスチャノードなどでプロシージャルに作った模様が歪むことなく表示されます。

  • 円形グラデーション(円が歪まない)
  • 放射状エフェクト
  • 距離計算
  • プロシージャルテクスチャ
  • 解像度に依存しないエフェクト

つまり画像サイズが変わっても同じ見た目にしたい場合に向いています。

スポンサーリンク

❷Normalized出力

Normalized0~1に正規化された画像座標です。

左下(または原点側)が(0,0)、右下が(1,0)、左上が(0,1)となる座標です。画像サイズが変わっても必ず0~1になります。

※マニュアルには「ピクセル中心に合わせるため半ピクセルのオフセットが入っている」とあります。

縦長や横長などの画像でも座標が縦横0~1にマッピングされるため、テクスチャノードなどでプロシージャルなパターンを作ると模様が引き延ばされたり歪みます。

向いている用途

どんな比率の画像でも左下を原点(0,0)として縦横0~1に正規化するので位置の把握がしやすいです。

  • UVのような扱い
  • マスク位置の指定
  • グラデーション作成
  • MixやCompare系ノード

最も扱いやすい座標なので、多くの場面ではまずNormalizedを使用してみると良いかもしれません。位置の指定や、グラデーションの作成をするときに扱いやすいです。

スポンサーリンク

❸Pixel出力

Pixelは実際のピクセル座標を出力します。

例えば1920×1080画像なら

  • Xは0〜1919
  • Yは0〜1079

という整数の値になります。

左下を(0, 0)としています。

Snapノードなどを使って1ピクセルの大きさを変えたりできます。

数字が大きくなりがちなので、Gradient Textureなどテクスチャ系ノードの出力が効果的にならないことが多いです。

わかりやすいように24×24ピクセルの小さい画像を使っています。

向いている用途

画像サイズが変わると値も変わるため、解像度に依存する処理で利用すると効果的です。また、ピクセルごとに処理したい場合でも使えます。

  • 特定ピクセル位置の計算
  • ピクセル単位の処理
  • 解像度依存のエフェクト
  • 画像加工系ノードを組むとき
スポンサーリンク

UniformとNormalizedは何が違う?

大きな違いは縦横比を考慮するかどうかです。

例えば16:9画像で円を描こうとすると、

  • Uniformでは最長辺を基準に正規化されるため、縦横比に左右されず円を保ちやすい
  • NormalizedではXとYのスケールが異なるため、そのまま距離計算すると楕円になりやすい

つまり、

「形を保ちたい」ならUniform

「画像上の割合で指定したい」ならNormalized

を使うとノードを組みやすくなります。

スポンサーリンク

座標の加工

画像座標を使って画像の座標を加工してみます。CompositorにはImageノードに座標の入力ノードがないのでDisplaceノードを使って座標をずらしています。

  • 極座標を作ってみる
    • Combine Sphericalノードを使って極座標を作ってみました。Uniform出力を使って、真ん中を中心に万華鏡のような座標を作り、Pixel出力そのものを引いて元の座標を0にしています
  • 座標をワープのように歪める
    • Uniform出力を使ってNoise Textureの値を出力し、元の画像をゆがませています。
スポンサーリンク

まとめ

Image Coordinatesノードは、画像そのものではなく画像の位置情報を取り出すノードです。

3種類の座標はそれぞれ目的が異なります。

  • Uniform:解像度や縦横比に依存しない座標
  • Normalized:0~1で扱える一般的な画像座標
  • Pixel:実際のピクセル位置

特にUniformとNormalizedは似ていますが、「形を保ちたい」ならUniform「画像上の割合で指定したい」ならNormalizedと使い分けできます。

スポンサーリンク

関連記事

コンポジット記事へのガイド記事です。

コメント