caskal Posted May 9, 2020 Share Posted May 9, 2020 Hey magicians, I'm fighting to get proper UVs to substance, I made a signage with multiple elements, each one got their UVs working. Now I'm trying to export each uv organized and in separated UV islands, tryed uv layout but make's the UVs weird, if I change scale to "Fixed" they look good, but they dont have layout per island in the UV viewport. Any advice will be super helpful Thanks! Quote Link to comment Share on other sites More sharing options...
anim Posted May 9, 2020 Share Posted May 9, 2020 your screenshot doesn't show uv layout so it's hard to tell what you are asking about since you have checked target attribute I assume you have valid i@udim attribute present on your geo, are you saying it's not populating your islands to udims accordingly or what is the question? Quote Link to comment Share on other sites More sharing options...
caskal Posted May 9, 2020 Author Share Posted May 9, 2020 Hey @anim, when I plug uv layout as default I get this: Then i tried setting UDIM and making an attribute (saw this on a tutorial) but it doesnt work, not sure if im missing something: I did another method that i saw on youtube that let you create udim on HQ meshes by separating it in colors, i believe this shows proper udim islands, so I'm trying to get something like this but with my geo that already has UVs So my goal is to have a udim or uv island set per element something like this: Thanks! Quote Link to comment Share on other sites More sharing options...
anim Posted May 9, 2020 Share Posted May 9, 2020 images are generally bad at conveying this sort of issues, anyway here is a file with 2 methods - uv layout, which can use i@udim attribute to lay islands out into udims, but changes incoming layout within uv tile - however if you are happy with layout within uv tile you can just offset uv islands into particular udims using simple vertex wrangle: int udim = prim(0, "udim", @primnum); v@uv %= 1; v@uv.x += (udim - 1001) % 10; v@uv.y += floor((udim - 1001) / 10); obviously the udim has to have the same value per the whole island ts_place_uvs_to_udims.hip 1 Quote Link to comment Share on other sites More sharing options...
caskal Posted May 9, 2020 Author Share Posted May 9, 2020 20 minutes ago, anim said: images are generally bad at conveying this sort of issues, anyway here is a file with 2 methods - uv layout, which can use i@udim attribute to lay islands out into udims, but changes incoming layout within uv tile - however if you are happy with layout within uv tile you can just offset uv islands into particular udims using simple vertex wrangle: int udim = prim(0, "udim", @primnum); v@uv %= 1; v@uv.x += (udim - 1001) % 10; v@uv.y += floor((udim - 1001) / 10); obviously the udim has to have the same value per the whole island ts_place_uvs_to_udims.hip Master! this works beautifully, digging the wrangle solution you did. Thanks a lot for the quick reply and the time making the hip, appreciate it! time to keep making some procedural signages, cheers! 1 Quote Link to comment Share on other sites More sharing options...
kirillall Posted September 25, 2021 Share Posted September 25, 2021 On 5/9/2020 at 9:42 AM, anim said: images are generally bad at conveying this sort of issues, anyway here is a file with 2 methods - uv layout, which can use i@udim attribute to lay islands out into udims, but changes incoming layout within uv tile - however if you are happy with layout within uv tile you can just offset uv islands into particular udims using simple vertex wrangle: int udim = prim(0, "udim", @primnum); v@uv %= 1; v@uv.x += (udim - 1001) % 10; v@uv.y += floor((udim - 1001) / 10); obviously the udim has to have the same value per the whole island ts_place_uvs_to_udims.hip Very useful! Thank you! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.