Welcome to Fusion Workflow For Weapons! I'm Howel Ganuchaud, a Weapons Artist from France and I made this guide in collaboration with Jeremy Estrellado for showing you how you can use CAD models for a game project.
Base Mesh
Create the base model in a CAD program, avoiding all small and unnecessary bevels (the ones you bake), keep the mesh sharp.
Retopology
The idea for retopology is to have 2 different models. Zbrush and Blender will benefit from one with a lot of details and topology. Another one with less topology, but not too low, you still want some room to play with, it's better to have a "mid poly" mesh and doing the optimization yourself, than having a "low poly" mesh where you need to add edge loops/details by hands.
There's two different ways for retopology after you completed your CAD model.
You can either:
- Export in OBJ/FBX directly from your CAD software, then import it into Zbrush/Blender (might require creases & subdivision pass).
- Use another software for doing the retopology , then import it into Zbrush/Blender. EX: I export my model from Fusion in STEP/IGES format, import it in Moi3D and export it in OBJ, then import it into Zbrush. Moi3D have a better way for retopology (settings) in my opinion, compared to Fusion. You can choose the level of detail/topology you want when you export, triangles only or Ngons only.
Fixing shading issues on curved surface:
Sometimes, on some curved surface, you’ll get some artefacts/visible topology when creating the high poly. That’s because with the export settings from above, it will let some areas less dense. Example:
You can see: Left= artefacts in the high poly - Right = the topology from the exported high topology mesh from moi3D.
To fix this, we need to put a lot more topology into these area as well, to do this, use the following settings (keep in mind that, this settings will largely make your obj files bigger): Moi3D:
Plasticity:
Thanks to Pascual Hernandez for sharing the settings.
Highpoly Creation
Gif made by Pixellate
When your CAD model is converted into a polygonal mesh, you can import it in Zbrush OR Blender (or any software that support voxel remeshing) for a Dynamesh/Voxel remeshing, where you will smooth everything down (edges, details). Remember to use a decimation master/decimate modifier after, due to the extremely high tris count.
Zbrush
- Import your High retopology model.
- Apply a Dynamesh (I can't give you a specific value here, each value is unique to your mesh. Start with a low value and move up to get something clean).
- Play with "Polish" (check white dot) and "Relax" sliders (usually, I'm adding between 10/30 of polish).
- When you're happy with the look of your High Poly, you can use the Decimate Master (Pre Process first, then Decimate between 5/20%).
- Export
+Positives
- Zbrush handle high polycount really well
- Fast computation (based on your System)
-Negatives
- Add another software to the pipeline
- Not free
- UI ? (🤡)
Blender
- Import your High retopology model.
- Add a Remesh modifier to your meshes.
- Select "Voxel" and start reducing the value to get something good.
- Add a "Smooth" modifier and play between 50/100 for the value.
- When happy with the look, add a "Decimate" modifier and reduce the value around 0.1 / 0.2.
- Export (or bake in Blender).
+Positives
- You can have your High directly with your Low
- No need for extra software
- Free
-Negatives
- Slower computation (based on your mesh and system, you still need a really high end PC to have quick computation).
- Blender do not handle millions of polys really well (even if it's better with each Blender's update).
UPDATE: I recently discovered the Black Mesh addon (PAID). All the voxel things are packed into one addon with more options, it definitely speeds up the process of high poly in Blender, I suggest you take a look.
Low Poly Creation
From your "mid poly" retopology, import it into the DCC of your choice, and start the optimization. Reducing cylinder sides, removing the details you will bake, connect some parts together etc...
You can find some example of topology reducing in the following photo.
Keep in mind that all the areas that we won’t see (mainly, all the inside) can be drasticly reduced or removed. For example, the last pictures with the circlular hole, that detail could be entirely removed and closed because a screw will be in that spot and we won’t see that hole. For giving you a triscount, the base mesh (mid poly exported from Moi3D with the settings above) was ~12k tris, and the final mesh is ~5500 tris (and that could be lowered a bit more).
Doing our UVs
Like the previous step, use your favorite software for the unwrapping. There's not much to say here, so I'm gonna link some good stuff:
- Know your Texel Density. Go check the 3D 2.2 Texel Density page to learn more about this.
- “Every hard edge is uv seam, but not every seam is a hard edge.”
- Padding/Marging is really important with UVs, if you have a really small (almost non existent) space between your islands, you’ll get mipmaps issue in engine. This guide is an oldie but it’s a goodie http://wiki.polycount.com/wiki/Edge_padding
Baking Process
Baking your high-poly model to your low-poly model is a straightforward procedure. The better you did the previous steps (low poly/unwrapping), the easier the baking will be. You can find some great resources here on the 3D 1.4 Baking page of the University. For Toolbag, I suggest you to check this baking tutorial from Marmoset.
My baking process in Marmoset Toolbag 4
That's a wrap! I hope this guide was clear and consistent and that it will help shed some light on using Fusion and other software for in your CAD workflows.
Like said in the intro, this is my workflow, my way of working with CAD for Games. I'm sure there's different ways of doing this and/or various optimization possibilities. Give it a try, see how it works for you and try different things, don't hesitate to reach out, I'm always happy and open to improvements !
If you have any questions, you can go to Dinusty Discord or send me a DM directly ( Defcon#3216).