I’m a packaging designer, working with Blender. My general workflow is to import packaging diecuts to blender, make a mesh from it, use a bevel and a solidify modifier for bendings and cardboard thickness and then fold the package by rotating the faces. That way I have a pretty simple and non destructive workflow where I can show my clients how the package folds and unfolds (using shape keys instead of a rig). My UV-Maps are basically equal to the actual diecuts because the rest of the geometry is just generated.
Now my question:
Is there a possibility to create a procedural shader for the solidifier rim and map it’s direction to the actual orientation of each face so that the texture “bends” when I’m folding the box? I absolutely want to avoid applying modifiers and manually create a UV-Map for the rim.
Below is a screenshot of my current state. I’d somehow need to manipulate the Z-Rotation according to the rotation of each face
Thank you! I haven’t thought about that, and since I’m not very experienced with Geometry Nodes it will surely take a while for me to set this up. But I’ll definitely give it a try. Replacing the solidify modifier with something tailormade for my needs might actually improve my overall workflow!
I kinda split the solidifier and the UV unwrapping with Geometry Nodes, because I still have to understand them better and those node systems are getting quite complicated very quickly. So mine is on purpose not for now.
I managed to get exactly what I want in terms of creating a “material thickness” generator with different materials for Inside, Outside and Rim.
Now, on the UV unwrapping part. I did manage to place a texture so that it kinda wraps around the sides of the extruded geometry. And they do kind of move the correct way when I fold the faces.
But I have no still no control over the scale and alignment of the UV-Islands… and they do change as soon as the geometry is being manipulated. so it’s pretty much coincidence if the texture is placed correctly or not.
Next topic would be that I actually would need two textures for the rim since you’d see the waves only on front and back and more or less something like straight lines on left and right. And FINALLY I’d need to be able to switch those depending on how the cardboard was cut.
Check the file, so you need 2 uvmaps one for X side one for Y side.
random seam is not a good idea, you need to do it as regular unwrapping. One way is to select edge indices by index > equal = # then connecting them with “or” boolean math node. It is annoying currently to select stuff in geo nodes. I did it using normals and position to find corner edges for seams.
You need to manipulate mesh after storing uvs then it will stay as it is. I used higgas’s curve deform node for bending, so textures line up perfectly.
Well concerning mesh deformation: I don’t want to do that inside of geometry nodes, since that would be way too comlicated when I have a box diecut with (idk) 50 folds in different directions. So mesh deformation will always happen outside of GN (either manually or even with a rig).
That might be a problem, because that means that normal direction is the only valid attribute to map textures. Everything else (point positions, edge directions etc) might change.
It‘s still a very good starting point but I guess the UV-mapping will get very tricky.
I just figured out that I can set face selections based on material indices with Geometry Nodes.
Means I switched from generating actual geometry with GN to staying with the solidify modifier and only playing with the UV mapping of the edge material with GN.
That way I can mix between manually created UVs for the cardboard outside and inside and have the UV for the edges generated.
I now only have to figure out how to layout the UVs inside GN correctly no matter what packaging diecut I insert.
Yep, I’m using the UV-Viewer you shared a while ago during our conversation Thanks! Challenge is to flatten UV and always align them the same way, no matter what geometry is inserted… This will cause some headaches…