Pluto, a UI/UX Designer, and Modeler at Tripolygon, shared a comprehensive breakdown of building a pixel farm in UModeler.
Hello, my name is Pluto, and I’m in charge of UI/UX design and modeling at Tripolygon, Inc.! Today I brought you a review of working on a pixel farm, which was made to try 3D modeling with a retro look. Since assets are typically used in game development, it started with the general goal of let’s create assets that would make it easier to develop farming games. A lot of the effort went into portraying a 2D pixel art style. However, the overall graphic style of the models is in 3D.
So the first thing to consider was the sense of standardization and unification through modularization among the created assets so that it would be easy to make a game by arranging them. Each crop’s design is based on a 1m x 1m standard ground block within Unity, so you can create a unified game environment by just placing the crops on the blocks, as long as they are arranged well.
Concept Reference Images
Tile-based graphic sources from farming games such as Tiny Farm, RealFarm, Rule the Sky, etc.
Voxel images and 3D models created in pixel art style.
The above images were references, but some turned out to be made to look like pixel art through effects rather than the actual data of several images. In particular, in the revolving shot, there was an effect where the outlines showed an aliasing effect that may seem like it was added to the model. But the model itself was not created that way. Instead, it was due to the modification in resolution and anti-aliasing in the final rendering stage of that clip, which was an intricate part for the actual modeling data to embody.
Texture and Materials
One page of single-channel texture is used to create images, and all images are made in a pixel art format with the anti-aliasing removed.
The above image is a portion of the texture used for the creation. It was drawn with a 1px hard brush in Photoshop. The parts outside of the image were all cropped using an alpha channel. Then they were imported to Unity, and the settings are as follows:
The material also needs some adjustments since the models are not transparent because the image is on an alpha channel. So, even on the materials, a few adjustments to the settings are needed. The primary material is created in URP using the above image as a base map, and the settings are as follows:
1. Modeling forms with thin sides such as leaves, etc.
The models were mainly divided into two types: The ones made in a plane form, such as the leaves, and the ones made with chunks, such as the fruit.
Models made in a plane form were easy to portray in the pixel art style since I could use the alpha channel to expose the pixels of the texture itself. With the texture and material settings recorded above, I could create models in a thin plane form with pronounced pixel art with only basic shaders, such as below:
This is an example of a pixel art modeling approach that overlays texture on the flat side and crops the rest with an alpha channel.
However, the drawback of this technique is that there is a blind spot based on the visual angle when you rotate it since it is a 3D model.
The technique mentioned above doesn’t pose any significant issues when creating the desired retro feeling, as long as you keep the visual angle in mind. However, a different method was needed for thicker, chunk-based shapes with much visibility when rotated, such as fruit or trees.
2. Modeling Chunky Forms such as Trees and Fruit
I tried to provide the models with a sense of visual Unity with leaves that maintained their shapes, even while maintaining the chunk forms. So, I worked out a method to model the chunk shapes in URP before overlaying the Toon Shader.
I used the Toon Shader because I figured it was fit for showing the pixels on the textures by simplifying internal shadows and dropping the edge of the models themselves, and depending on the amount of the outline added, a sense of Unity was applied, which was an attempt at lessening any differences. As a result, I was able to create a product that was close to the desired image.
Graphics Pipeline Compatibility Issue
But there was a problem in using URP’s Toon Shader. In the case of our assets, they need to be compatible with both built-in and the graphics pipeline. But since the Toon Shader was created with only the URP in mind, the output difference between the built-in and the graphics pipeline was too big. It was too difficult to include the visual characteristics listed above, such as the outlines. So the conclusion was to create a shader with little difference that could portray common elements between the two pipelines. So, I made a shader that could do the same things in the built-in graphics pipeline.
The new shader mainly shows two visual characteristics: One is to give the face texture a pixelated look, and the other is to add an outline.
With Dirther_Tex, you can demonstrate a pixel art look, and the outline can emphasize the outer lines.
A comparison of the same model in different graphics pipelines: built-in (left) and URP (right).
This reduced the gap in the resulting material, even in different graphics pipelines.
The following are the final images, a video clip created through trial and error, and the production process.
Turnaround samples of individual objects.
A scene of a farm created by being placed like modules.
Initially, I took inspiration from videos of 3D models with the pixel art style. Still, with this project, I found that there is quite a difference when trying to replicate it with actual data. And there were many instances where I had to re-adjust the texture and model ratios, but using the UModeler to model directly in Unity was very helpful in quickly creating or editing models that suit the textures by modifying the models and UV. In the future, I plan to actively use UModeler when I create models that rely on heavy textures. In any case, I hope this will help you with your projects and thank you for taking your time to read this.