I really like how you've articulated your entire process. This was a very enriching read. A Well deserved feature!
Great article! Thanks for the awesome read.
Wow, this is so cool! Nice job!
3d artist Patrick Chamberland was kind enough to talk about the production of his architectural scene ‘Farnsworth House’. He talked about the choise of Unreal Engine, the use of Blender and other useful software.
Some personal work
Hello, I’m Patrick Chamberland and I am 31 years old from Montréal, Canada.
My path into the real-time 3D world has been a long one. Let me start by saying that growing up, I always had artistic inclinations, but never dreamed that it would one day become my main focus and allow me to pursue a career in the gaming industry
Out of college, I obtained a degree in computer programming and worked in a traditional office setting for around 7 years before feeling like I was settling for a life I did not want. It was at that point, at the age of 27, that I decided to enroll at the National Animation and Design Center in Montreal from which I obtained a bachelor’s in 3D Animation and Digital Design.
My initial intention was to become an animator and eventually work on motion pictures, but throughout my studies, I would constantly be drawn to work on the overall feel and aesthetic of the projects and noticed that I had a natural eye for artistic direction. Shortly after obtaining my degree in April of 2015, my wife and I had an opportunity to travel around Asia for 6 months which we ended up doing.
It was during this trip that I developed a deeper interest in Architecture. Asia is a hotbed for new, up and coming architects and the recent development in places like China means that the number of interesting and unique buildings is unequaled anywhere in the world. I was truly inspired and this led me to start digging deeper into the history of architecture.
Working in Taipei 101, Taipei, Taiwan
As a recent graduate, my work up to now consists of personal work as well as University projects and I am very excited to work in a professional capacity in the very near future.
At the base of every project, my #1 focus is always the lighting. Everything else in the scene is simply a stage for me to be able to explore the type of lighting I am trying to achieve for the particular project.
With that said, the Farnsworth House project is my attempt at trying to achieve a cohesive and complete scene inside of UE4 while keeping the complexity of the actual architecture to a minimum. Mies Van Der Rohe’s International style of architecture is one based on simplicity and open spaces. This allowed me to complete the whole scene in a reasonable amount of time without having to spend too much time on intricate details normally found in other styles of architecture.
Detailed light information only
Base color information only
When it comes to starting a new scene, I always start by blocking out the main volumes with simple shapes to make sure that my scaling will be correct and then replace each piece as I go.
Everything in the scene, including the actual ground plane is a static mesh. I was initially going to use a landscape actor for the ground plane but ended up baking out the ambient occlusion for it early on and decided it wasn’t necessary to change anything given the UVs were already set up.
My workflow for the color adjustments involves making changes directly inside the editor. For a substance, this is as easy as exposing the parameters I want to adjust before exporting it in UE and then all of the values are there to change as you please.
Adjustment sliders for the floor material instance automatically generated by the exposed attributes in Substance Designer
For objects using maps generated with Quixel, I always add some extra nodes inside of the material setup which allow me to adjust things like the overall roughness, normal strength or hue of the base color. It takes a little time figuring it out the first few times you do it but it has now become second nature and pretty much seamless.
Example of manually created parameters for my Quixel based material which then become adjustable in the material instance
In both cases, this enables me to make any adjustments I want to my materials without having to jump back and forth between different softwares which is a great time saver.
The actual house was modelled using real world scale based on reference information I was able to find online so everything else was built around this scaling convention. I knew I needed to have some space between the house and the heavier forest row of trees so my ground plane dimensions took this into account. Visually, the important part is to try and hide the fact that the trees and ground plane actually end, giving the illusion of a full and deep forest. An atmospheric fog actor helped with this as well.
Blueprint for accurate real-world measurements
Outer boundaries of the scene
For my ground, I used a 4-way blend material that I could easily paint using the paint tool inside of UE. This allowed for great flexibility when choosing which type ground I wanted for specific areas.
Ground material setup
All of the trees (which included 5 trees to populate the forest and one tree specific to the front of the house) were created with Speedtree which was indispensable to create different variations of the same tree types extremely quickly. Once the individual trees were imported into the engine, I added them with the foliage tool over my ground mesh. The great thing with using the foliage tool is that it automatically takes care of randomizing the rotation and size of the same model which also helps with creating a convincing forest.
Randomizing trees with one click inside of Speedtree
I had some preliminary camera shots set up while building the scene in the engine and tried to make sure that the trees were always there to support the house and not draw too much attention away from it. Once I had my final compositions, I ended up deleting and adding trees in areas I felt needed more refinement.
All of the geometry in the scene, excluding the trees as well as the bed sheets and pillows, was built with Blender. I spent the entirety of my studies using 3D Studio Max but for my personal work, I quickly transitioned to Blender as I prefer the workflow and am constantly surprised by how dynamic and robust the Blender community is. I truly believe that Blender should be considered a viable option for professional work and it keeps improving at a very rapid rate.
For my materials, I find myself splitting time between the Quixel Suite as well as the Substance suite. I find Quixel’s solution to be fantastic for fast, realistic materials that need minimal tweaking to look good although I’ll always do a second pass by adding my own layers in Photoshop. Therefore, I tend to use this for objects such as pieces of furniture (all of the chairs and the couch were done with the Quixel Suite).
I also love to use Substance in cases where I need a specific material that I want to get as accurate as possible. I really enjoy the node-based workflow which allows for quick edits to any property in the material. What really makes Substance Designer special for me is that any exposed parameter is instantly adjustable inside the engine as soon as it is imported, ensuring that the material looks just like I want it. For example, Substance Designer was used to create the travertine material which is the house’s floor and has a distinct look.
Travertine material inside of Substance Designer
Marvelous Designer was only used for the bed mattress and pillows. I’ll use Marvelous when I feel like I need that extra realism in the wrinkles for things such as pillows and it really does a great job laying out UVs that are usable inside of the game engine which is very important for lightmaps.
The curtains were actually modeled by hand to keep the polycount low and have a clean topology. Again, this was to try and keep my lightmaps as clean as possible.
My lighting setup is actually quite simple. It is nothing more than a skylight with an HDR input. However, the scene simply using the light setup without any post processing looks quite different. I then added an LUT adjustment as well as tweaked a few global illumination settings until I achieved the mood I was looking for. This step is really more of a trial and error thing where it’s a matter of trying different settings until you start to get the “feel” for the scene.
The lighting before any color correction has been applied
Also, I find that adding box reflection actors in appropriate areas for individual pieces of furniture is important in making sure that the object is receiving the correct reflective information. My scene contains quite a few of these actors.
More targeted reflection captures help with accurate object lighting
One thing I have noticed when it comes to lighting a scene is that sometimes people tend to want to over-do the light to make it dramatic but it very frequently ends up going overboard and breaks the realism of the environment or simply makes it less appealing. Light is a very subtle thing and the old adage “less is more” is often the correct choice when it comes to correctly lighting a scene.
In UE4 v.4.12, Epic Games introduced planar reflections as a solution for high quality reflections in reflective surfaces. I took advantage of this new actor instead of the standard box or sphere reflection actors for all of my glass objects which really made a world of difference in the end. There is still some work to be done in order to better optimize the performance of this feature, but for this project, it worked out quite nicely!
Planar reflections for the windows
Lastly, the fog was of course achieved with an atmospheric fog actor. Nothing out of the ordinary other than it took some fiddling to get the desired effect but again this is another of those trial and error areas where it’s not so much how much knowledge I had working with the actor but more having patience to test how all the settings behave!