Thursday, August 5, 2021

3D Art: Portfolio Three Week Four

 My Suffering Is Over

I finished sculpting the transformer for now. I would've liked to get into the really fine details but I couldn't swing it within 2-3 days, so the legs are a little simplified.



After wrestling with Zremesher, I ended up still getting errors when I went to unwrap my UVs, so I had to export my mid-res into Maya and automatically unwrap my UVs there. When I did a test bake with the torso last week, the textures were really low-res when everything was sharing a 4096x4096 texture, so I split everything up into eight texture sets.



It seemed to work and the textures turned out better this time. Because the sculpting took me so long the textures totally have the "Substance Painter" look since I didn't have time to tweak with them too much beyond making ID maps.



It is cool to be able to have this 3.4 million tri model in engine and it run fine, although it did take a minute for it to process the fbx.


My biggest hurdle and takeaway from the process has been how much planning needs to go into the UVs, because if you kind of wing it (like I did) it creates a lot more work towards the end of the process.



Monday, August 2, 2021

3D Art: Nanite

 Unreal Engine 5 Nanite Virtualized Geometry

Nanite lets you use much higher-polycount assets than what was previously possible with real-time art. It does this by rendering pixel-scale detail -- only detail that can be perceived -- and culling the rest of the geometry. 

Using Nanite

Any static mesh can be converted to nanite by just checking a box on import: the "Build Nanite" option under the Mesh panel.

Depending on the size of the mesh, it'll probably take a minute to import. During import, UE5 is sorting the triangles into clusters, and these clusters, depending on where they are in relation to the camera, will have their level of detail changed on the fly, essentially automating LODs.

UE5 has a Nanite Visualization mode that lets you see both the triangles and clusters of your model.



Just about any mesh is a good candidate for Nanite. If it's a high-poly model, if it's going to be occluding a lot of other Nanite, or if there are going to be a larger number of instances of that model, using Nanite will streamline things.



UVs and Texturing

Nanite meshes can be textured, but they use a slightly different workflow than typical game-res meshes. Both Quixel Mixer and Substance Painter can handle the high-poly meshes that you'd be using, the limit is based on your GPU and what your computer can deal with.



If you don't use zRemesher, you'll have to be proactive about your UVs and plan them ahead, UVing your base mesh in Maya before converting the Smooth Mesh Preview to Polygons and bringing it into Zbrush. Once it's brought into Zbrush, you won't be able to decimate or dynamesh, or you'll lose your UVs.

Overall, Nanite opens a lot of doors for real-time art, and has just a slightly different workflow for most game art.

























Resources:


Nanite | Inside Unreal video demo by Epic Games



3D Art: Portfolio Three Week Three

 New Tactic + Getting Pieces in Engine

I'm still behind, but at least wanted something textured and in engine by today. The torso is mostly done, the biggest problem being the UVs. I scrapped what I had originally because I hated how it was turning out, and using the Draw Polygon tool to draw each individual face was soul-sucking, and made adding depth to each piece kind of a challenge.

My new plan was to make a relatively simple mesh that got the proportions and general silhouette of the robot, bring that into ZBrush, and extract the pieces I needed for the panels. I felt like I could get cleaner shapes this way.





My plan was to zRemesh these, using the polygroups to preserve the edges. The problem I ran into was that there were errors in the mesh that stopped zRemesher from working. This meant that I had to decimate the mesh before I could move forward, which means the topology isn't great and neither are the UVs. My mid-res mesh sits at 1.2 million polys.




I essentially have a little less than three days to get this ready for industry review. Since capstone and common art are ending tomorrow, I'm hopeful that if I dedicate all my time to finishing the legs and forearms I can have a more-or-less finished robot.

What I do have is in engine as nanite and seems to be working pretty well for being 1.2 million polys. I looked up the average height of a transformer, which was about 30 feet, so that's what scale I was basing this model off of.