REAL TIME ENVIRONMENT
KNB 137 // Assignment 02 Caden Chan // N11736348
KNB 137 // Assignment 02 Caden Chan // N11736348
With the completion of A1, we look to expand our skillset further by diving into more complicated projects to continue our developments in industry recignised 3D software.
Assignment
Create an environment and animated character models to complement the idol developed in A1.
Goal
Explore the different tools and workflows necessary to create environments and animated characters.
My Role
Art Director
3D Artist
Year
Sep - Oct
2023
Week 08 - Week 10
Pre-production phases for building an environment are way more demanding than what was required during A1. Whereas before was just consideration for the idol design, now I'm planning an entire environment, how to make it modular to save time, and the styling of assets.
Never the less, we press on!
I love the feeling of awe as you view massive and sprawling scenery. This feeling inspired me to pursue an environment that will try to replicate the sense of scale and mysticism I'm chasing. It will include:
A endless pit that surrounds a pillar holding the idol
A bridge and staircase that a person has to climb to reach the idol
Three levels that oversee the idol and act as a view gallery
Six chairs for important figures during the time the ritual cavern was built to over see the
It is a location of immense religious importance where the civilization who built it would gather to watch improant figues interact with the sacred item.
Initial Floor Plans
Because I didn't have many ideas for what to do, I started with the thumbnail sketch on the left and then tried to envision a floor plan to accompany it. This action kick started some ideas for interesting environments. In fact, these sketches made we consider creating this massive chamber for the idol in the shape of an eye.
I decided to go with the simpler floor plan on the left for ease of creation due to its regular geometry.
Once I had this basic idea planned out, I actually then went to creating the mood board to generate more ideas for how to fully realize the environment. While referring to the available assets of Quixel Bridge, I also realized that the assets available were more suited to caves with grey rocks and heavy foliage. This would be a decision to depart from the sandstone style of my A1 submission and take a new direction towards a jungle/forest region.
The panopticon came to mind as a striking room that gives off a oppressive atmosphere. It's a prison cell block concept where all jailcells face a central surveillance tower to completely remove privacy. I want to flip the perspective and have the people on the outside look at the tower or in this case starring at whoever approaches the idol.
During this week's lecture, our professor showed us a great way to create a concept sketch without needing to rely fully on your drawing skills. By creating a "blocked" version of the environment in 3D, you can grab a screenshot and the draw over it to help visualize the scene. Huge time save for me and honestly a better result.
Shout out to you Mo!
I chose to make the scene in the Unreal Engine using the geometry brush tool.
Using highlighters, I've coloured in areas I believe are modular and can be all based on a single asset. The same colour represents the same asset being reused.
Here I took the opportunity to visualize some of the key assets that needed to be designed with basic rendering. It's also a way to help me visualize the materials I will be working with for the rest of the environment.
Week 10 - Week 11
Part of our assessment required us to create a game ready character that can accept motion capture data to animate it in Unreal. While the option was available to model this character from scratch, I knew it would take too long and would be far out of my skill range. Therefor, I chose to used an asset provided in class to use as the body. I would then attach the idol head and have a working mesh.
I chose to resize the idol head so that it would create an 8-head tall character. I heard that this ratio of body to head creates a sense of grandeur with the figure because it's an unrealistic proportion. Perfect for these supernatural characters.
During this phase, the edge loop count was greater on the idol than on the body. Using this handy chart shown in class on how to reduce the number of faces on a mesh, I was able to go through with the procedure.
Head Attatchment Process Screenshots
While I was happy that time was saved in the character creation process, the body didn't look that appealing now did it fit with the style of the head. That's when I remembered about sculpting and how I could mold this existing mesh into a more engaging body.
Using reference of a absurdly muscular man, I edited the proportions and visible muscle groups.
A fun challenge to go from unwrapping just a head in A1 to now a full body. I followed this tutorial from professional 3D artists Henning Sanden and Morten Jaeger who run a YouTube channel teaching both technical and artistic principles in 3D. They actually didn't go over how to unwrap a character in this video but they were showcasing an already unwrapped character. I ended up scrubbing through the video to look for the cut lines in the mesh and replicate it on my character.
Video By: Flipped Normals
Rigging was such a nightmare in Maya. As much as I tried, the character would deform horribly and I wasn't sure why. Whether it was bad topology, improper placement of bones, or sub par weight painting, the character just wouldn't bend properly.
When all hope was lost, an angel lifted me out of the dark. That angel was AccuRIG with it's easy to use and powerful automatic rigging system. I was shocked to see how easy it was to work with and how high quality the final rigs were. A literal life saver and I will probably never return to rigging.
Literally the best thing I've read all week. Automatic weight painting.
I actually went through two iterations of this character's materials. Originally, I wanted it to have the same appearance as the idol, so I repurposed the Substance Material for an entire body. But when I really looked at it and thought about it's appeal, I just didn't really like how it looked. I ended up doing a 180 on the design and creating a mossy rock texture that would fit more with the environment. I hope it will work in my favor as the idol will stand out as the only red item in the entire environment.
There was also a major problem with this texture set as I believe it exhausted the texture streaming pool. I kept getting errors about being over the allotted VRAM and the file was getting unstable and crashing with very few assets inside. I believe the issues will be fixed if I rebake the textures and export everything as at a much smaller size. The original file was a UDIM texture involving 6 UV squares at 4K resolution. Now I'm reducing the everything to 2K which should improve performance.
Here is the new texture setup to match the mossy stone vibe I'm going for.
I pulled in four animations for character variety. Three were idle animations that way they didn't all move identical to one another as they stood around and one was a battle cry animation for some real action!
Week 11 -
Week 13
As per my direction in A1, I chose to push forward using Nanite assets supported by the Lumen lighting system. Especially with the introduction of 5.3's big leap into greater Nanite integration, I felt it only made sense to keep using it and get use to its quirks.
While watching the Unreal 5.3 feature showcase, one thing that caught my attention was that displacement had been reintroduced into the texture workflow. Searching around online lead me to a way to add the feature into my engine using the commands "r.nanite.AllowTessellation=1" and "r.Nanite.Tessellation=1" placed into the DefaultEngine.txt file in the Config folder. It opened up the displacement node when creating master materials and was an exciting way to add some more realism to my envrionment.
This dirt texture from Quixel is using its displacement map to add more geometry to the flat plane thanks to Nanite.
Once I had my assets collected, I did a test run using a stone wall that was representative of the rocks I chose to build out the cave. Additionally, I revisited my blocked environment and thought that the environment was pretty boring at the ground floor. I chose to add dirt along with mossy rocks to make that section more interesting. I also tested a combination of example assets to see if the ground textures meshed.
A big lesson learned in class is to focus on modular design. Especially as the due date was closing in, planning out how you can reuse assets where possible to speed of workflow is crucial. This section is a gallery of all the different assets I kit bashed using Quixel objects. Following my plans during the planning phase and deviating where needed, I ended up piecing together an efficient environment.
Because the environment is ancient and rundown, I didn't want to have one pillar and wall asset that would repeat across all the floors. I made four variations to make it look more natural and sized them up so that they fit nicely in the blocked environment template made earlier.
Two variations of the cave wall that holds up each floor was created to keep the organic feeling of the environment. I also realized that you can add even more variation without creating another asset by flipping the x or y scale. If you make either of those values -1, they mirror the original dimensions of the asset effectively create more variations for you to use.
The walls were modified by kitbashing lots of smaller granite assets to give it a more interesting surface. This was probably the most reused asset because it helped build major parts of the environment like the pit, back wall, and ceiling.
The central pillar is my proudest kitbash of the entire environment because of how simple it was to create. The results are 80% of what I envisioned in my head simply by duplicating a rescaling the idol head, adding a temple stone texture, and sandwiching them between two hexagon stone platforms. As a bonus, it also ended up being the alter for the idol!
The stairs were a cherry on top and were also quickly made using an upside down wall, stairs, and back of stone tablets to cover the opening in the mesh.
Creating the ground was a challenge because it was so much flat ground to make look interesting. I worked around it by laying massive planes with the dirt texture to create some variation in the ground slopes then created a large group of rocks covered in moss and mulch. From there, I turned it into a blueprint and duplicated it many times over to create the ground.
The last assets created was the bridge which was very simple, just created half the bridge and then duplicated it to finish the entire length. I continued to reuse that half and layered it to form the curve that support it.
A big lesson learned in class is to focus on modular design. Especially as the due date was closing in, planning out how you can reuse assets where possible to speed of workflow is crucial. This section is a gallery of all the different assets I kit bashed using Quixel objects. Following my plans during the planning phase and deviating where needed, I ended up piecing together an efficient environment.
Video By: Branden Arc
Video By: Ryan Laley
In addition to using volumetrics for the sunrays, I also used a really quick material setup to produce a fog to cover up the empty hole of the pit surrounding the pillar. This tutorial by Ryan Laney laid out a beautifully simple node system to get any object to act as a fog.
A big problem I saw with the scene was that it was incredibly dark outside of the areas hit directly by the sun. All that time developing the environment couldn't go to waste. That's when I had the idea to light up the different areas of the environment with lamps. It would really set the sacred atmosphere while serving a practical purpose of lighting. With that, I went to work filling out the area with lights.
This is also where the problem began with my file. I ended up placing over a hundred light sources across the entire environment which slowed my computer down and caused errors with lights that overlapped one another. Although it looked good, it acted as a warning for overburdened hardware and a bloated envrionment.
For the duration of this project, it hadn't come across my mind about the limitations of my computer and Unreal. I knew that major innovations had been made by Epic to create a tool that strives to remove the technological limitations to creating art. But it's clear that there are still obstacles, and I ran into the biggest one. Although I don't have a definitive answer, I believe the scene I've created is way too bloated causing the final render to fail.
I am using Lumen and Nanite to achieve high quality results while managing an incredibly dense world. These two overlays below show just how much overlapping geometry there is (overdraw view on the left) and how much geometry is crammed into one scene (triangle view on the right). When I got to render a sequence out or run the environment as a game preview, almost all the objects go missing and I'm stuck with a "Nanite Node Buffer Overflow" warning.
Video By: Yours Truly
It's a shame that we ran into such a big issue at the end of the project. It was only after I made my level sequence that I realized what errors had built up across the production of this project. I suppose it's good experience for me to start understanding the limits of Unreal and to learn about how to execute on ambitious ideas while balancing the technical work behind it.
I'm surprised with how much the lighting brought some of the screen capture together and created an ancient atmosphere. With that being said, here is my final work.
Video By: Yours Truly