Anton Tenitsky talks about sculpting and texturing a gorgeous environment with ancient city ruins using 3DCoat, getting familiar with Unreal Engine 5's Nanite, and finalizing the scene in UE5 on a dangerously old laptop (surprisingly) with no lags whatsoever.
In case you missed it
You may find these articles interesting
My name is Anton Tenitsky. I got my degree in Graphic Design with a focus on 3D media in New Zealand. My first job was on the Penguins of Madagascar cartoon series. Then I spent 3 years at Gameloft and for the last few years, I've been a solo artist involved in freelance projects and content creation.
As a hobby, I built a YouTube channel around 3DCoat where I try to apply the software to various ideas. Some things there can be done much faster than anywhere else.
Getting Into Unreal Engine 5
One thing I hated the most about real-time graphics was the necessity to build lightmaps and that I had to constantly fight with the light leaking issues.
Lumen opens new possibilities for production and while lightmaps are not going to disappear anytime soon Unreal 5 is not just about games now.
Working on the Lost Manhattan Project
3DCoat is best at recreating stone, wooden, metallic, and destroyed environments. I wanted to sculpt and then do high-poly texturing for Unreal Engine 5.
I was looking at some photo packs since I do photography myself and usually extensively study references from around the world. And I based my idea on this particular reference pack from Fotoref.
My main technical idea was to create a good-quality high-poly RGB vertex mask in 3DCoat and send it to Unreal Engine 5. This mask then allows you to assign Quixel textures and you can swap these textures in real-time.
I’m using a rather old Alienware laptop. I’ve attached a Speccy screenshot. And surprisingly enough Unreal Engine 5 didn’t give me any trouble whatsoever.
Creating Assets in 3DCoat
First I isolated and concentrated on a few assets: the wall and the stairs that I could reuse to build the whole city in a minimum amount of time. That totaled at around 17 million triangles.
In general, it is extremely easy to split rocks, cut away, 3D paint little debris in 3DCoat. And if you are an environment artist who deals with destroyed “organic” environments I really urge you to try voxel workflow. I used to do rocks and debris in ZBrush but 3DCoat can do it 10 times faster.
I also used my own custom rock brushes that I’ve created from 3D scans and they were quite helpful for smaller surface details.
Substance Painter is obviously an industry standard in terms of asset texturing. But 3DCoat offers high-poly texturing without UVs with complex PBR materials and ambient occlusion/curvature baking. I knew about this possibility but it never happened to be useful until Unreal Engine 5 came out.
For RGB mask texturing I pretty much picked up materials from the software’s standard library and changed material colour to bright red, green, blue and filled the object.
Export to Unreal Engine 5
If you do a standard FBX export from 3DCoat it will save vertex colors. It also offers to decimate the model and I did decimate it down to 8 million triangles.
I’m not a Nanite expert just yet. And I’ve only picked the check box to turn the mesh to be Nanite in the import mesh settings. And it is great in my opinion that you can just dive in without much prior knowledge and then pick it up as you go.
Quixel Material Blend Setup
The biggest Unreal Engine 5 challenge for me was to set up blend material that is projected on the mesh and not use UVs.
I had to butcher the default Quixel blend master material and I used other people’s projection nodes available for free.
I was trying to make it as fast as possible though it still took me another day to set up. And projection can still be improved. I’ve shared my material on Gumroad for free.
The Final Scene
The final scene is super fast without any lag on my ancient laptop. I contribute it to the use of a small asset kitbash that was instanced a few hundred times.
The Challenges of the New Workflow
I wanted to use Quixel-provided materials and they gave me some grief.
Another downside is that handling heavy meshes isn’t fast unless you are on some really expensive SSD drives so get ready for waiting to export, import, turn to Nanite, repeat.
Once the mesh is imported to Unreal Engine 5 it’s a breeze to build level designs with no lag at all.
I’m happy that technical tools are getting easier to use with every passing year which gives artists more freedom to produce content. It makes new games, TV shows, and movies cheaper in production, allows for more iteration and much better quality output in the end.
The only next big thing I want to see is the speeding up of realistic simulations. I want fire, liquid, explosions to look good and just require a button to run.
Thank you for giving me an opportunity to share my work here!
Here's the full timelapse of the process: