Sparx* Virtuousセッション目コピ③
SiggraphAsiaでのセッションが素晴らしかったので目コピしていく。

2025/1/09に公開されたSiggraphAsia2024でのSparx* Virtuousのセッションで非常に素晴らしいプロシージャル岩を作成しているセッションが公開された。
非常に出来が良かったので工程を理解するために文章に落としていく。
https://youtu.be/7TkOkEIwqYM?si=uCYWeeI-Kx6__3dW
本記事では 動画28:10~の「PROCEDUAL ROCK MODULES」以降の内容を扱っている。
記事内の画像は目コピしている最中の自分の作業シーンのもの。
※詳細な作成方法やhipが公開されているわけではなく、
公開されている範囲を目コピで作成しているので本記事の内容で動画と全く同じものを作成できる保証はできません。
ベース形状最終工程移行を追っていくところから
https://www.procedural.jp/articles/g64gcn4jmha
前回以上に未公開部分が多く、今回の記事は予想が中心です。
目コピという感じではありません。
OUT FINAL 以降(35:10頃~)
out final以降は公開されている部分がとびとびになってきて、目コピは難しそうだった。
なので、結果からいくつかTipsとして参考にできそうな情報をまとめていく
※そのため以降は予想が主になるので目コピ中心ではありません。
内部メッシュを埋める
恐らく内側のメッシュを埋めることを目的に作業サイズに合わせるためのmatchsize、remesh grid、matchsizeを作成。
スタッシュした位置とスケールを戻すためのtransfomr by attrib、boolean後に新しいメッシュ部分をわかりやすくするためのcolorを作成。
結合とエラーメッシュを削除するためのboolean、delete_small_parts、polyfillを作成し図のように接続する。

remesh gridでerodeを調整して内側に縮めた生成するメッシュをbooleanすることで内部のクリーンアップができる。
リスケール時のサイズが公開されていないため、全く同じ想定の動作をさせることは出来ないが便利な構成に感じた。

WATA_TIGHTというnullに接続し、次の工程へ
・・・進むのだが、ここから分岐が非常に大きくなり動画では全く追えなくなるので結果を真似た似た接続を作成していく
ディテールアップのためのAwasomeTriplannerと機能の予想
ここから細かいディテールを追加するためのLabsTriplannerをベースとした内製ノード、awasome_triplannerを使ってディスプレイスメントとカラーを追加していく工程になっていく。
match sizeで 10x10x10にリスケ、rimesh gridでDivisionSize 0.01に設定したメッシュを作成。 これがハイポリゴンのベースとなる模様。
AwasomeTriplannerについて、詳細は分からないものの、動画で利用しているような頂点カラーとディスプレイスを反映する機能はLabsの段階でつけてくれている。
Awasomeではマテリアル単位で設定しているように見えるのでそういった社内ライブラリ内で使い回せる機能も付いているように思う。
AwasomeではRoughnessやそれを確認するためのCOP Previewなども組み込まれていそうだが、ひとまず、動画で行っている頂点カラーとディスプレイスはLabsで十分便利に利用できる。

マテリアルベースでの拡張は便利そうなので自分でもいずれ準備したい。
Occulusionやグランジなどのテクスチャを利用して色調をつけていく工程
動画では20.0まで使用できる、LabsCalculateOcculusionをOcculusionの作成に使っている。
20.5で廃止されたこのノードの代わりにMaskByFeatureでmaskなどのアトリビュートを作成すれば似たようなことができる。

ここで作成したOcclusionは動画ではWrangleで操作しているが詳細は見えない。
ここではColorノードのRamp FromAttributeが調整しやすいのでそれを使っている。
また、Occlusionが最終結果にどうつなげたかもわからなかった。
Occlusion以外に、動画ではグランジとしてメッシュベースの焼きこみも行っているものの、設定値などは公開されておらず細かい調整が必要そうなので今回の目コピでは割愛
作れたら溝周りにノイズ感のある色調が乗っていい感じではある。
エッジ部分のマスクを作成
Labs Measure Curvatureを使ってエッジからマスクを作成している。
ここも細かい調整値はわからないのでColorにつないで自前で調整、ブレンドした。
動画ではノイズなども載せているのがうかがえる。

ベイクとバリエーションリスト
ベイクはLabsGameMakerを利用してテクスチャ化しているのが判る。
42:26~以降のバリエーションをリスト化して一覧できるようにしているのは圧巻なのでオススメ。
是非自分も真似して、プロシージャルモデリングをクライアントに見せる際のモデルケースとして似たようなデータリストを作成できる仕組みを準備したい。
結果イメージからの機能予想
43:13頃に最終的に作成されたモデルを公開してくれている。
これを見る限り、破壊前のメッシュごとに色の乱数を持たせているのが判る。
苔はMaskByFeatureのShadowMaskから範囲を決め、作成しているように見える。
貝、ヒトデなどはMaskByFeatureのDirectionMapで作成した範囲にscatterをして配置しているとかだろうか。
これらが組合わせられて非常に見栄えの良いものに仕上がっている。
目コピ結果
暫定的に色などを組合わせた今回の結果が以下のようなものになる。

詳細を教えてくれるようなチュートリアルではなかったので目コピは大変だったものの、Virtuousさんのクライアント向け資料を作成する工程を追うだけあって、
現段階でもかなり見栄えのする岩になってくれた。
そしてここから長い長いプロシージャルロックの道が始まる。

fish_ball
プロシージャル魚類