😇

Blender GeometryNode で作るアウトライン

2022/10/29に公開

Summary

BlenderのGeometryNodesを使ってアウトライン表現をする方法を解説します。

アウトライン表現のアルゴリズム

アウトラインを表現する方法は色々ありますが、今回は最も単純な「背面押出法」で実現します。

背面押出法

背面押し出し法とは、アウトラインを表現したいメッシュを少し膨らませてアウトラインを表現する手法です。下は背面押出法を画像で説明したものです。

背面押出法の概念図

この画像だと正面から撮影しているときは問題ないのですが、撮影方向が変わった場合に表示がおかしくなってしまいます。この問題を上手く解決するのが背面押出法の核心になります。

背面押出法の概念図

押出法の詳細について更に知りたい場合は「アウトライン 背面押出法」等で検索してみてください。

背面押出法のアルゴリズム

今回制作する背面押出法のアルゴリズムは以下の通りになります。

  1. 頂点を複製する
  2. 法線に沿って頂点を移動させる
  3. 法線を反転させる
  4. カリングを行う(バックフェイスカリング)

GeometryNodes による実装

今回はGeometryNodesを用いて実装を行います

Image from Gyazo

バックフェイスカリング

Blender でのバックフェイスカリングはマテリアルで設定します。
Image from Gyazo

GitHubで編集を提案

Discussion