Behind The Works: Bayang. Unreal Engine Basic Hacks.
“With all of these points applied to the project the time to build, develop and package the project has become more efficient. The packaging result is at the required result with fast running fps and the size of the project has become smaller. At the time when it was near the exhibition opening of my work, I finished the project with what I think is the best result in only a week.”
Core Concept and Planning
The work was developed in 5 months starting from February until July 2021 and was first exhibited through https://galeri.salihara.org/karya/bayang. It is comprised of two virtual environments with Microsoft Windows operating system computer application which was built with Unreal Engine. During the first exhibition, the work was stored online so that people can download, own and play it on their computers with two different video previews available on the web page. It was intended to be presented at two different times with Bayang 1 presented first and Bayang 2 presented afterward. The environments within the two applications were created closely the same as the real environment of the Setu Patok lake area except that in Bayang 1 with architectural objects and buildings that are made purely through my own imagination.
Environment research started in February by taking pictures and recording sound on site. The 3D ground within the work was taken from the generated online map. Buildings and objects were mostly made by me in Blender with some of them being downloaded from the CGTrader website (credits can be found on the work description document) and trees were mostly generated from SpeedTree. Materials and a few of the 3D objects were also taken from Quixel Bridge.
Unreal Engine Starting Point
The work was built under the third-person game mode in Unreal Engine. As a starting point with the ground base and meshes ready to be assembled together, it is crucial to consider some points which can make the building process easier and the packaging goes smoothly with fast fps rendering result.
1. 3D objects preparation
a. Join objects into active objects
It’s best to not have too many meshes in the Unreal Engine map. While one mesh can consist of multiple meshes it’s better to get them together as a joint object with different materials. In this case, an FBX file format is the best choice to be used as the 3d object in Unreal Engine.
b. Vertex issue
It is one of the very crucial points. The amount of faces and vertices from each of the 3d objects will impact the Unreal Engine map rendering. It shouldn’t be too much of the face amounts but an adequate size. In Blender try to reduce the face amount through Decimate on the Modifier Properties tab.
c. UV
Right after the assembled process was done and the map was then built, there must be a message log popped out. There is often stated a message saying that one or two meshes are having an issue with overlapping UV. In Blender try to edit the UV with UV Wrapping under the UV Editing tab.
2. Texturing in Unreal Engine
a. Flipped normal material texture sample
Some normal material texture samples can sometimes appear to be flipped with the inside material appearing on the outside and vice versa. This can be overcome by flipping back the normal material texture of the mesh in Blender Edit Mode under the Mesh tab. Choose Normal then click Flip.
b. Texture size
The size of the textures will also impact the rendering result. Every mesh mustn't use a 4k texture size except those that need a very detailed texture.
3. 3D object details in Unreal Engine
a. LOD
LOD stands for Level of Detail. The importance of LOD in Unreal Engine is how it will affect the level of detail based on the distance. The closer the character gets to an object the more detail the meshes should be and the further the character to an object the less detail the meshes will be.
4. Before the building and packaging process
a. Files directory sources
It is best to make sure that all files used in the map are imported into the selected folder inside the content directory. Or else it won’t appear once the project packaging is done and was shipped to a person’s computer because the existence of the file cannot be resolved due to it’s not in that person’s computer.
b. Engine scalability settings and material quality settings
This function can be found under the Settings tab in Unreal Engine. The chosen criteria will impact the whole rendered map of the project. There are some quality criteria that can be chosen for the final result including Low, Medium, High, Epic, Cinematic, and Auto. For Engine Scalability Settings, each of the quality criteria can be applied to some of the settings. They are including the Resolution Scale, View Distance, Post Processing, Shadows, Textures, Effects, Foliage, and Shading. Together with the LOD setup, the Engine Scalability Settings will impact the fps of the project.
c. Project packaging settings
While a project can consist of so many files and folders which then makes the size of the project package go big, it’s better to only include the needed files for the packaging process. My settings for the packaging processing are to exclude editor content when cooking and a chosen list of maps to include in the packaged build.
With all of these points applied to the project the time to build, develop and package the project has become more efficient. The packaging result is at the required result with fast running fps and the size of the project has become smaller. At the time when I was near the exhibition opening of my work, I finished the project with what I think is the best result in only a week.