Geometry NodesでRealizeした後にUVを取得する
Geometry NodesのTips
3.5以上であればFace Cornerに格納されている2D Vector Attributeが自動的にUVMapのデータとして扱われます
https://wiki.blender.org/wiki/Reference/Release_Notes/3.5/Python_API#:~:text=UV%20layers%20are%20now%20stored%20as%20generic%202D%20vector%20attributes%20on%20the%20face%20corner%20domain%20(rB6c774feb)
なのでGeometry Nodes内でUVを作成したりいじったりしない限りは特にすることはない
作成したりするのであれば、Store Named AttributeとかGroup Outputでちゃんと「Face Corner」に「2D Vector」で格納するように指定すればよい
(なんかいい感じの画像を用意する)
以下、3.5未満の話
Realizeする前
https://gyazo.com/54e925f82607684cbb268ac53301be97
した後
https://gyazo.com/93152a546c8661be9f970ee22306a626
解決方法
Shader側で取得する際にAtrributeノードを使う
https://gyazo.com/194935cc8fbb153aba468fb6e14b23b6
またGeometry Nodes自体を適用させたときでもこれで取れる
https://gyazo.com/2957abd36e5bbd2c620976544a3946cf
けど、これだと他のソフトに持っていくときに多分不便だと思うので、Object data propertyでConvertしてあげる(右下)
https://gyazo.com/c14b531623afce7e0423da5ae3a787c7
これでUVからつないでも大丈夫になった(左下)
https://gyazo.com/a09c66a171f387eb927f2890318ee316
UV複数個持つためにはGroup Outputを増やせばいいし、UV複数持っているオブジェクトを呼び出したとしてもNamed Attributeで他のUVも呼び出せる
Geometry Nodesから出力したUVをボケないようにするに書いてあることも知っておいたほうがお得