Klaudia Litwinski shared the modeling and texturing workflows behind the Dragon Fish House project, explained how the waterfall was created, and demonstrated the lighting setup in Unreal Engine.
Hello! My name is Klaudia Litwinski. I am 24 years old and have been studying 3D environment art at Think Tank Training Centre. I started enjoying video games at a younger age after getting lost in many different worlds and their stories, only to realize as I got older, I gained a massive curiosity about how my favorite worlds were built. The more I researched, the more fascinated I became, and eventually played with the idea that maybe I could also create something. I decided to pursue it, and that’s how I ended up at Think Tank.
My project was based on this concept by G liulian. I love all the different greens and foliage, which inspired me to want to tackle vegetation since I did not have a whole lot of experience with it. Besides being intrigued with the architecture, I love the cheeky fish theme in this concept and wanted them to come to life in a 3D world. Overall, I knew this concept would help me grow my sculpting, foliage, and shader skills. I also wanted to force myself into trying different possible workflows.
After I had my heart set on this concept, I pulled it into Photoshop and started organizing my future assets. I labeled what my hero props would be, my regular props, my foliage, and my tiling textures. I put this all into a PurRef file and started gathering references for my assets around it. For the composition, I know I wanted my first shot to be similar to the concept, showing off the grandness of the building while adding a beachy scene fading into the background.
The Modeling Workflow
The blockout stage began, and I threw my concept into Maya. I tried to match the camera settings as best as I could with the concept, and everything lined up for the most part. I modeled the structure of the house first.
There were a lot of identical pieces that helped build the structure, so all the UVing and duplicating helped save time. I grouped up specific sections to stay organized, which later helped me focus on building on those specific sections when I brought my blockout into Unreal Engine. For my sculpted assets, I created the base shape in Maya, then sculpted over it in ZBrush to bring it back into Maya again for the retopology treatment.
Most of the props in the scene were simple shapes, so they were modeled using spheres, cubes, and planes with a few extrusions. The details were later added during the texturing process in Substance 3D Painter.
Maya 2022 has an awesome feature called Sweep Mesh which became a huge time saver when modeling the ropes. I simply created some curves, used soft select to shape them the way I wanted, and after selecting my curves, I hit Sweep Mesh which can be found under the Create tab.
All the wood assets in my scene are made using a very simple trim sheet. I modeled the basic shape of the boards in Maya, exported them into Zbrush to sculpt out the details, and baked them on a plane in Substance 3D Painter. I added a few more details in Painter over the tiling wood texture I created in Substance 3D Designer. Using trim sheets helped me save a lot of time, but it was still missing some more break up and details.
I created a second UV set with my wood assets and then exported them to Substance 3D Painter. I created three layers, naming each layer with the corresponding materials I would have set up in Unreal Engine. I textured each layer assigning a base color of either red, blue, and green. This is how I made my RGB masks for my assets. There is a video by Cairo Goodbrand explaining the process in more depth:
I enjoyed this process because of the control I had over how and where I wanted my material to be painted on an asset. I will definitely be using it again on future personal projects.
Setting Up the Waterfall
I’m still relatively new to shader work, so when it came to making my waterfalls, I spent a lot of time researching how other artists went about it. My waterfall material is made up of panning textures with some vertex animation slapped on a tube mesh. Each texture has a parameter connecting to an append node which is plugged into Speed on a Panner node to control the speed and direction my texture would be panning.
I had two of my textures added together to include some extra noise in the base color. I wanted my foam texture to be subtle, so I multiplied it with a fresnel and used it as an alpha for a Lerp node plugged into the Opacity. I’m also using the foam texture in my vertex animation to get its displacement shape in my geometry.
Here is how the vertex animation is set up in the material.
Working on Vegetation
Almost all of my vegetation was created in SpeedTree. It was my first time using it and I quickly became overwhelmed with all the control you have with the never-ending list of parameters, but I double-downed and grew to enjoy the process. My favorite part was probably creating my atlas'. I very much enjoyed the freedom of figuring out the shapes of my branches and leaves without having to think about the polycount before they get baked on a plane.
After being satisfied with my branches here I hit AO to compute it before going to File and Export Material to bring up the export settings.
I brought my maps into Substance 3D Designer and set them up how I wanted and got my Atlas!
For the leaves in my scene, I ended up sculpting them out in ZBrush and texturing them in Painter to use in SpeedTree.
Before doing this, I attempted to make some leaves in Designer. It probably wasn’t a good idea since it took up a bit more time, and I didn’t get much use out of them. I don’t think it was the worst way to waste time since it gave me some Designer practice.
The Lighting Setup
Throughout all the stages of the project, The Fish House was sitting on a nice warm beach in my head, so that was my goal for the lighting and atmosphere. My directional light is doing most of the work with a LUT texture for color grading, located in my Post Process Volume. I think I prefer playing with the color grading this way instead of figuring out what works with all the settings in the post-processing. I highly recommend looking at this Unreal Engine document for information on it and how to set it up.
I also needed to bring out the foreground so I played with Unreal's fog and added fog cards on top of that.
A lot of time was spent researching and trying out what I have researched, which helped me learn so much. There is loads of information generously shared on the internet; I spent a lot of time on YouTube and the Unreal Engine documents and highly recommend looking through ArtStation learning.
My biggest challenge was probably figuring out how to set things up to make the process easier for myself, especially for next time. I could feel that I was able to work more quickly by the end compared to when I first started. I learned that it’s very important to be patient with yourself. If you start to lose focus, take a step back for a bit to rest your mind so that when you come back, you’ll be in a much better headspace.
I still have so much to learn and practice, but I am excited about the next project. Thank you, 80 Level, for this wonderful opportunity, and thank you for reading!