Merge UV Project form X , Y , Z together to One UV Layout

   2128   5   0
User Avatar
Member
8 posts
Joined: May 2018
Offline
Hey everyone I have some question to ask, If houdini can do that ;D

I have some idea but i really don't know how to do that

In the picture. I want to use UV project Form X Y Z together , How can i select that Uv layout correct part form X and Y and Z and then merge together on one Layout

Attachments:
Uv_projection.jpg (3.1 MB)

User Avatar
Member
7 posts
Joined: Sept. 2014
Offline
you could use a group expression after generating normals for the primitives to group the separate axis and blend based on that.

the .5 is your threshold to define how orthogonal to the axis a primitive has to be to be considered for the mask.
Edited by divi-cig - Jan. 16, 2019 01:44:37

Attachments:
axis_group.JPG (19.4 KB)

User Avatar
Member
8 posts
Joined: May 2018
Offline
Thank you so much !!!
If you have time Can you checking the node in my file please

Attachments:
HoudiniProjects_up.zip (23.8 KB)

User Avatar
Member
8 posts
Joined: May 2018
Offline
Hey i got it!!!
so can i ask more question
How can i merge UV group together , Thank u alot !

Attachments:
Screenshot (15).png (2.2 MB)

User Avatar
Member
7 posts
Joined: Sept. 2014
Offline
you could split the mesh based on the groups and merge them back together after UVing.
User Avatar
Member
679 posts
Joined: Feb. 2017
Offline
You could also use this VEX code in a wrangler node set to vertices.
It creates a box projection for you:

vector bbox = relbbox(0, @P);
vector side = sign(@N);
vector nml  = abs(@N);

vector size  = getbbox_size(0);
vector ratio = size / max(size);
vector scale = bbox * ratio;

if      (nml.x == max(nml)) { @uv = set(scale.y * side.x, scale.z, 0);             }
else if (nml.y == max(nml)) { @uv = set(scale.x * side.y, scale.z, 0); @uv.y += 1; }
else                        { @uv = set(scale.x * side.z, scale.y, 0); @uv.y += 2; }

@uv *= 0.3333;
@uv.x += 0.5;

Cheers
CYTE
  • Quick Links