- May 15, 2022
- 129
- 226
Thanks for the explanation brother, I'll check that out the next time I need to do something similar. In the past I always did this kind of thing manually without using geometry nodes (mainly because it didn't exist back then) thank goodness things are getting easier.Well, this isn't a tutorial, I was making it up as I went, but IIRC the basic workflow looked something like this:
You should be able to google most of these steps. Let me know if you get stuck or if I skipped anything.
- Duplicate the (already rigged) character mesh
- Delete unnecessary geometry (Head, feet) from suit mesh
- Reshape suit mesh to imply folds (less cleavage, less asscrack, no navel, no genitiles, reduce or eliminate nipple profile, depending on how ecchi of a final result you're going for.)
- Add a new Geometry Nodes modifier to the suit mesh and displace the geometry by a very small value multiplied by the geometry Normal. (Basically, a homebrew Displacement modifier. We're doing it in GeoNodes so we can add changes before and after it later. Think of the main horizontal line in Geometry Nodes as your own personal custom Modifier Stack.)
- Subsurf. (Again, directly in geoNodes so we can add nodes before and after it later.)
- Some sort of procedural Texture node to make the ribbing and panels. (I was using Brick, but Voronoi is also a great choice here.) Use the Position input to get your normals. (This was counterintuitive for me, at first, since I was more accustomed to working with Shader Nodes, but apparently in Geometry nodes you can just grab the raw Position input and any posing or animation you do later Just Works. It's not using the "real" world position of the mesh. It's using the domain of its default pose or something. This is why there's no way to get Generated coordinates in GeoNodes. You can Math them from the Position coordinates, which isn't possible in Materials since they are always evaluated "after" posing.)
- Use the Capture Attributes node to get the ribbing and panel textures, blur them in GeoNodes before passing them into the geometry Nodes Group Output, and name them in the Modifier Properties panel. Now you can use a low-res version of these textures in your Materials. (Rebuilding these procedural patterns directly in the Material Nodes would be preferable, especially for closeups or if you plan on using them for Displacement. But since there's no way to copy and paste nodes from Geometry to Materials, it's best to save this for last. It's a time-sink, and all that work will be thrown out if you change your mind later.)
- In Materials, use a Layer Weight node feeding into a bunch of math nodes to fake some stylized reflections. Ribbing attribute can be reused as an alpha to make the ribbing non-metalic. Basic Materials polish pass.