3D Artist KKamjang is back to share a new project – Moonglow Village. Check out this extensive breakdown of creating a mountainside village under the moonlight with a slow snowfall using Unity.
Hi, this is Kkamjang. I’m finally back with a new piece of work and a story to tell about it. This piece is called Moonglow Village. I created a mountainside village under the moonlight with a slow snowfall using Unity Engine. I created this with the UModeler again, which allows users to model within Unity Engine. Take a look at my creative process in text and images.
I added a holiday touch to the background. There’s a new year vibe to December, but I imagined that a Christmas theme would be more suitable and opted for that. You can create a different time even in the same environment. Set the weather, season, and time when you work so you can think in more detail about what you want to express. I recommend you think about the time set for the environment or character you are creating. I have the Christmas theme here, so there are elements that contribute to that environment, such as the nighttime, lights, and Christmas trees. Mix these elements together with the background you want to show in order to decide the overall look.
I’m using UModeler to block out within Unity. I just need to check the overall style of light and ambiance. The model will be very simple, but I will consider my schedule when deciding the number and types of models. Now I have to name it. I’m going to create the downtown area first, which is why I thought I might add “town” to the name, but the main element is a village, so I settled on “village” instead. I thought through some titles and ended up naming it Moonglow Village. The thematic time period is the evening and I plan on mostly using the Bloom effect, which is why I decided to use Moonglow for the title.
Moonglow is the name of the village but also the main look of this specific level, which is why I named it so.
I first decided to create the tiling texture for the building. In such cases, modeling requires a high fall model for the tiling texture. For instance, if it’s a texture of a brick wall, you need a model of a brick. Only the texture is imported into the engine to use, but if you have a model you can use when creating that texture, you can create it more easily and with far better quality.
Position the high fall model for tiling. Use texture bake to extract the texture (Normal, AO, etc.) you will use to create your desired texture. You can create such color textures and other textures by using tools such as Substance 3D Painter.
Now, import your created textures into Unity Engine to use on the outer and interior designs of a building. I used UModeler for all modeling.
You can revise your modeling directly within the engine. If you need to do so, you can go back to the DCC tool without exporting or importing after the revision, enabling a faster workflow. You can also see how it is being rendered in the engine while you make revisions. You can also unwrap UV. You can use this to create textures first and then place the modeling later.
The plants were modeled in exactly this way. I created the interior first and looked at the way the house was built to place plant pots in blank spaces. I thought I would decide what type, size, and angles of plants I should create after I had an interior laid out.
You start by creating a general leaf and stem texture like this. Check the look of the interior in order to create a plant that fits.
If you find you need to add other plants as you go, or you need another variation of a single plant, you can just create one on the spot without going back to the modeling tool. When you are creating, don’t think about what something is going to look like after it’s been placed. You can create another according to the structure, so you can increase the number of plants at will.
Light settings are made for real-time response, just like all the other pieces of work, I shared previously. In other words, I am not using a lightmap in renderings. This is because the real-time light environment is the best environment for seeing the synergy between the real-time rendering of a game engine and UModeler which allows real-time model creation and revision. However, there are downsides to real-time lighting.
You need to adjust the grades of light and rendering settings. If you want to emphasize certain themes or elements on a level, you need to know which rendering elements have an impact.
Lighting - Indoors
I wanted to create a sunset yellow and warm sensation for indoor settings. Levels were created separately for indoor and outdoor settings. The objects indoors were going to be copied right into an outdoor space with a different light setting. That’s why I thought it would be nice to show different, independent lighting from the outdoors. I made the indoor walls blue. The light is a warm color, so I tried to counter that at least a little.
As you saw above, I placed plants indoors. Of the objects that can be placed in a strongly colored light and show shadows, I believe they go particularly well with the indoor setting. The light and shadow on the leaves can liven up a bland indoor scene. It creates effective results considering the amount of effort required.
The bathroom is created on a different level from the indoors. The color of the bathroom walls is different from other spaces indoors. It is not ideal to use the same light, which is why I opted for a different lighting composition.
The real-time lighting I mentioned earlier caused an issue here. The light that reflects naturally is difficult to express without a lightmap. That’s why the same light color as the floor was used so that it can give off the look of strong light on the floor with a blue light reflecting off it.
Lighting - outdoors
The night level was the priority for outdoor settings, rather than the day. The night was important, but the overall light of the level had to be adequate and the light and snow textures had to combine. The shader was simple.
In the case of snow shaders, many people had already created them before, and a more precise expression requires more elements, so the main expressions in this work comprise only a few elements. On the snow surface, there is a strong reflection and a softer effect. The reflection uses a noise texture with adjusted specular strength. The softer effect is one you can see on moss or woven materials. It is an effect that is seen on the side of the texture rather than the dark, inner part of it. In this case, you can use the result of the view vector and normal vector stacked to express it in a simple way.
If you write shades for various effects, you often use information in units of vertexes instead of textures. One of the things you will use here is the vertex color.
I, personally, like to use vertex colors for creating effects. The previous work I did (Witch’s Cauldron) involved moving candlelight and a light that shines through the candle. In this piece of work, I used fairy lights for a Christmas look. I created a shader that changes the color of light at a set speed.
The important part of a work like this is creating the correct data. It is inconvenient to create a model through digital content creation (DCC) tools for the shader. In particular, purchasing a modeling tool for a shader like this is an unnecessary expense. You can either request this from a relevant modeler or rely on free tools. However, if other modeling parts are busy or if they are not modelers with professional UIs or shortcut keys, most modeling tools are unfamiliar to you. This is why shader creation often involves an inefficient method compared to an easier one.
UModeler is a solution that allows modeling inside Unity. It uses the Unity engine with the same functioning methods and shortcuts keys. Also, you can revise the UV Unwrap and Vertex color. This is why I recommend this to teams that require both modeling and data revision. I also recommend UModeler to those who write or study shaders, too.
This is the end of my explanation about creating Moonglow Village. Thank you for reading what little I had to share with you. I am always open to questions about UModeler or background modeling in general. If you have questions, reach out to me with comments, messages, or mail, and I will get back to you as soon as possible. I’ll see you next time with better pieces and helpful experiences.