Newsletter 1

Terrain toolkit

One of the key points for our project is the simulation not only of the Caterpillar’s bulldozer in a realistic way in terms of movement of its parts, but also the simulation of the terrain behavior. While the machine is moving, it will move the sand, clay or gravel on the ground. That material will start piling up in front of the blade of the machine, and as lots of the material pile together, some of it will spill through the edges of the blade, piling on the sides of the machine’s path.

All this physical behavior needs to be represented on the simulation, as realism is the main objective to achieve in our team. To simulate the terrain, one of the options we have is the Terrain toolkit, a free add-on for the Unity engine. This toolkit allows to use a variety of mathematical algorithms to randomly generate realistic looking terrains. It also allows to apply erosion effects usually caused by wind and water.

This toolkit is very useful for video games with large outdoors scenarios which require realistic formations. For our purposes where we will simulate smaller areas typical of constructions sites, generating large natural terrain formations might not be so useful, so we will look into ways to generate our own custom made terrains, but the Toolkit was definitely worth taking a look.

Visual Upgrade for the MTL

One of Caterpillar’s main goals is to make their bulldozers look as realistic as possible in a real-time scenario. To achieve this goal, I have been building upon the Multi-Terrain Loader that last semester’s team created as a starting point. Since CAT wants this in real-time, I will be creating a high-polygon model to create a normal map to use on the low-polygon model. This will allow the MTL to be used in real-time with little to no effect on the frame rate.

Unity’s Particles and Texture

One of the hardest tasks we are faced with in this project is finding a realistic way to portray the spillage of dirt as it is moved. Being able to understand the behavior of different ground material is something we are going to be focusing on; but before we can focus that we have to find the best way do this in Unity. What I have been looking into is the function of Unity’s particles system. What we want to do with this is be able to control the particles so that they replicate the look and behavior of the different dirt soil types.

Another area we a focusing on is making the terrain more realistic. I have been looking into the capabilities of Unity’s terrain painting system. Focusing on how easily textures can be layered to make a more realistic ground base as well as what possible limits there are. Luckily Unity is very easily used in this area. This meaning I have had time to make my own ground textures and get them into the engine to test them out very quickly. One of the things I have learned while doing this is that to make a believable ground texture its important to use a number of textures. These textures having varying darkness and brush tip so that the ground doesn’t appear repetitive.

Truevision3D Research

There are two crucial factors that we need to work out to meet the client’s requirements: deformable terrain system and robust particle system. So this week I focused on doing research in terms of these two.

For the terrain function, I made a testing program to test whether it is feasible to deform the terrain surface according to the specific conditions, such as position, depth, etc. This application demonstrates how the terrain deforms by clicking the mouse button. This application is a primary model for this function for our project, it has all the essential factors to deform a terrain.

For particle system, I exam the functions from the particle module in TV3D library. This module could provide basic functions and operations to run particle objects just like other game/graphic engines. Moreover, it has something advanced, like mesh instance, shader assignment, key-frame control, etc.

Due to the simulation for those tiny rocks movement, the best way to simulate that is to use a particle system, so it should be carefully exam and tested to know whether could be strong to use.

Game Engines

We’ve begun research into two game engines – Unity 3D and Truevision 3D. Truevision is a bit different than your standard game engine’s editor; the only visual interfaces are separate executable such as a model viewer, model converter, particle FX editor and a shader tool. The majority of the editing is done through code, such as C#, C++, COM and managed interface (DLL). Since we are a heavy artist team, this may not be the best approach, as the creation of terrain is strictly through code. However, if the artists provide black and white height maps, this can still be modified in the runtime.

On the other end we have been getting to know Unity, as the previous Heavy Metal team chose it after research into 3 other engines. Unity is very artist-friendly and provides a full user interface. The default code setup in Unity is javascript, but it’s also open to C# and Boo. Unity is also capable of some rather modern effects, such as normal maps and particle FX. Next week we will be looking into how to get Unity to perform the task of material spillage as the bulldozer digs a trench.

This entry was posted in news letter. Bookmark the permalink.