[Godot] 画像を任意の形にクリップする方法

2025/02/25に公開

画像を任意の形にクリップする簡単な方法を3つ。
いずれも親ノードでクリップする範囲を指定して、子ノードを表示したい画像にする。

  1. Control ノードの Clip Contents を "ON" にする。
  2. Polygon2D ノードでパスを作成して Clip Children を "Clip Only" にする。
  3. Sprite2D ノードで画像のマスクを作成して Clip Children を "Clip Only" にする。

1. Control ノードの Clip Contents を "ON" にする。

Control 関連のノードで範囲を作成してクリップする。四角形にするには一番簡単そう。
ただし、回転をするとうまくいかないので、その場合は Node2D クラスを継承している以下の2, 3を試す。

2. Polygon2D ノードでパスを作成して Clip Children を "Clip Only" にする。

Polygon2D でパスを作成することで任意の形にクリップできる。
ただし、ぼかしの表現などはできないので、その場合は以下の3を試す。

3. Sprite2D ノードで画像のマスクを作成して Clip Children を "Clip Only" にする。

やり方は上記2と同じく、Clip Children を "Clip Only" にすることでクリップするが、
クリップする範囲は画像で行なう。白くしたところだけ表示される。自由度が上記1, 2より高い。

Discussion