2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ジオメトリノードでカメラ方向からメッシュを投影する

Posted at

既存オブジェクトに メッシュを投影することで
オブジェクトを作り替えることなく新しく効果を足すことができます
特にカメラ方向から投影することで必要なカットだけ3D上でレタッチを施すといったことも可能です。
image.png

今までもシュリンクラップ等を使って似たようなことはできましたが
ジオメトリノードでより柔軟に作成する方法を試してみました

この記事はblender3.3を想定しています
またジオメトリノードの基本的な使い方は把握している人を対象にしています

レイキャスト

図はレイキャストのノードでグリッド状のメッシュを上から-Z方向(0,0,-1)に向かって投影する例です
(投影したものが見やすくなるように設定を調整してあります)
image.png
レイキャストは 「ソースの位置」から「レイの方向」で指定した方向を探って
ターゲットジオメトリに当たった場合には「ヒット位置」に当たった座標が出力されます
(当たらなかった場合には(0,0,0))
ヒットフラグにはターゲットに当たったかどうかのbool値が出力されます

ここで レイキャストの入力の「レイの方向」を見ると◇の入力になっているので
計算したいポイント個々で投影するベクトルを設定できる ということになります。

カメラ投影

「レイの方向」を指定することでのカメラ投影です。
image.png
「投影するメッシュ」の頂点座標を カメラオブジェクトと同じ回転を加えることでレイの方向のベクトルとして利用しています

Blenderのカメラのデフォルト値は-Z方向となるため
投影するメッシュのトランスフォームもマイナス方向への移動になっています
なお、この段階ではカメラのfovは考慮していません

ここではジオメトリ分離を利用して レイがヒットしなかった頂点を取り除いています

これで基本的な動作は実現できたものの

  • レイとメッシュ頂点が重なった部分しか使えない(ターゲットから外れた部分のメッシュも欲しい)
  • 投影座標がターゲット表面上にピッタリすぎる

といった問題があります

とりあえずはヒットした中で一番遠い距離にヒットしなかったメッシュを揃えるものを作ってみました
image.png
新しいバージョンでは扱いやすい機能も載っているようですがもう少し色々試したいと思います

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?