2023-05-29

【Blender】ジオメトリノードがメッシュ化できない時【Tips】

ジオメトリノードを適用しようとしてもエラーが出てしまう時の解決策。適用してメッシュ化すると、編集モードで頂点等を操作できる。

Article Image
使用ソフトウェアバージョン備考
Blender3.5.1

ジオメトリノードをメッシュ化するには?

ジオメトリノードで作ったモデルはそのままだと頂点の編集などができない。

メッシュ化する場合はオブジェクトのモディファイアタブにて、ジオメトリノードモディファイアを適用してやればよい。

メッシュ化する手順

しかし...

エラーが出て失敗する

次のエラーが出て適用ができない時がある。

エラー内容

英語:Evaluated geometry from modifier does not contain a mesh

日本語:モディファイアーの評価済みジオメトリにメッシュがありません

今回はこの解決法。

解決策

ジオメトリノードの一番最後にRealize Instancesノードを挟んでから適用すれば良い。

日本語ノード名:インスタンス実体化

realize instancesノード外観

たったこれだけでうまくいく。

これはなぜ起こる?

上のノード例を見て分かるように、直前のノードがInstance on Points(ポイントにインスタンス作成)が入っている。

このノードが「インスタンス」という形式を出力しており、これがメッシュではなく仮のコピーが配置されているからだ。

つまり架空のメッシュがそこにあるだけなのでモディファイアを適用しようとしても「メッシュが何もない」ことになってしまう。

というわけで、Realize Instancesを使うことによってこの仮のコピーだったものを実体化し、モディファイアを適用した時にエラーにならなくなる。

ジオメトリノードを適用すると何が出来る?

ジオメトリノードのままだと編集モードで頂点を直接編集することはできない。

頂点はいじれない

これをメッシュ化することにより直接頂点を1個ずつ操作することが可能になる。

編集可能

また、メッシュ化することでUVを手作業で展開できるようになる。

これにより精密なテクスチャリングも可能になる。

ただし、一度適用してしまうとジオメトリノードの編集には戻れないので注意。

さいごに

インスタンスという概念が少々わかりにくいのが難点。

別の話になるが、例えばインスタンスとして複数配置した時に「その中の特定の1個だけ変形したい」といった時にもRealize Instancesが必要かと思う。

ただし、闇雲にRealizeすれば良いわけではなくインスタンスのままのほうが演算が軽く済むと思われるので、不要であればインスタンスのまま扱おう。



この記事をシェア


謎の技術研究部 (謎技研)