Final Video Transcription
Transcription- Grass Clump
I’m going to walk you through the steps in creating a simple clump of grass. This isn’t an exact tutorial since I will not be outlining every mouse click and keyboard shortcut in this process. The asset we will be creating is a clump of grass. This process can be done in many ways, for this project, we will be hand painting a two-dimensional section of grass against a transparent background in the GIMP. After this, we will go through the steps to apply it to a flat plane in Blender in 3D and duplicate it multiple times to create a nice looking clump of grass that doesn’t load your computer down when being displayed.
I’m just going to get some nice thick grass in here so we can use it as an asset for the game.
This is the GIMP, the GNU Image Manipulation Program, it’s another open source program that anyone can download for free.
Ok, I think that’ll be allright. Ideally I would mix a few different brightnesses in, you know break it up a little bit, so I’ll do some of that.
This checkerboard right here is transparency and that’s very important to keep so that Blender knows what parts to cut out.
Allright, now we’ve created our image with transparency in the GIMP, now we need to bring it into Blender… this is Blender.
Wherever you saved it, just navigate to that.
There you go, with this button checked, you can tell whether or not our transparency worked, and it did.
We need to add a plane.
And so now you can see your texture on your plane.
This is your top view so you can see your plane is lying straight down, so let’s rotate it so it’s facing the front.
There’s a light here, move it across the surface.
So now we need to tell it to use the transparency, right now it’s mapping just for the color.
So we need to tell it to use the alpha, which is the transparency, and then we need to bring this down to zero, and then we need to check this, and now you can see through it.
Allright, let’s add some dimension to it.
And now, let’s bring in the plane, I un-hid it, I had it hidden.
And now we will duplicate it a few times.
So now you can see it.
The reason I moved it down so that the object center is down here so that then I can do this, to make some of them taller you know.
You get kind of a nice clump going there.
Make that a little smaller.
And you can kinda just keep on duplicating them and… then we can bring that into our game and just populate the world with it.
Probably create a few different looking clusters of grass for some variety, but just duplicate it all over and just place it on the ground.
In this section we covered how to create a simple piece of grass for use in a realtime 3D environment. We first painted the grass against a transparent background. We then brought it into Blender, applied it to a flat plane in the 3D environment, added dimension to that plane, and then duplicated the plane enough times so that it would look good as a clump of grass in your game.
Transcription- Baking
In this section, I will be covering texture baking. I mentioned normal mapping earlier, in this section, normal map baking from a high detail object to a low detail object is a key component of what I will be covering. The main point of texture baking is to take a very high detail object that is too detailed for a game and turn it into a low detail object while retaining as much of the illusion of detail as possible. Detail in 3D objects is more taxing on the computer than detail in textures (2D), so the objective is to cram all of your detail into your textures while keeping the number of 3D polygon faces low.
Here is one of the branches for the trees that I used.
So this is one of the high detail ones.
I originally went out to the forest, I picked a little evergreen branch just a really small one.
I stuck it in the scanner bed, scanned it in, and cut it out in the GIMP, you know using the selection tools and just deleting the background.
I just applied it to a single face plane, duplicated it a bunch of times and put it on these little branches.
I put a texture on it and I broke this down into a hierarchy so that when you grab each branch, it moves all the pieces that are attached to it.
These little bare branches, I just hand-painted.
If the tree were made up of these branches, one tree would be as taxing on the system as the entire scene is now.
So basically I took this, went into a camera, and rendered it out, you know, once it’s rendered out, this is just a 2D image now, it’s just a picture that can be used as a texture.
I just applied it to a plane, it was a flat plane originally, I just subdivided it so I have a little bit of dimension.
It’s 25 faces, I actually ended up reducing it down to like 10 or 15.
On this object, there are 56 faces just on one of these in comparison to just the 25 on this entire thing, so this is quite a bit more simple, a lot easier for the computer to display.
It doesn’t look as good, I made some higher detail branches for the lower branches, but they are still not quite this high of detail.
In this section I covered some texture and detail baking techniques. The objective behind these techniques is to cram as much detail into your scene in the most efficient way possible. Normal baking calculates surface detail differences between two objects and writes that information to a normal map. Color baking takes the color texture from one object and projects it on to another. Finally, with traditional render setups, one can create a complex object and simplify it for distant object display.\
Transcription- Textures and Normals
In this section I’ll be explaining what makes up the textures that are used on our game objects. The basic concepts of surface normals and color maps will be explored to some degree. The materials in our game rely on multiple layers of shading in order to achieve a detailed look. Our two main layers are the color and the normal maps. Custom texture layouts are generated for each game object. After I have made a group of unique objects, I can copy them and distribute them in our game world, applying simple size, shape and rotation variations to each copy.
Allright, so here is the basic mesh of one of the rocks that we will be using.
It’s using triangle faces, which are the simplest form of faces, so therefore, it’s the simplest for the game engine to render.
And this section will be covering texture mapping, so here is the first layer, the color map.
So you can see, it’s just the image here and it is custom fit for this rock.
This rock was cut down this seam all the way around and the program figured out how best to lay it flat on a two-dimensional plane so that this texture can be easily mapped to this surface, from 2D to 3D.
I’m going to go turn on the color map and basically, each one of these faces here corresponds to this.
Select this, there’s a face right here.
On this object, it’s just a single layer, I have a basic color layer and I have a detail layer.
Now I’m going to switch over to the tree because on the tree I actually kept the layers separate in Blender. So this is the basic color, I just painted this on to the surface so it doesn’t have a seam.
So this is the first layer, and then I have the detail layer, which utilizes the basic color of this and then overlays itself over this. I did the same thing on the rock, it’s just that they are combined into one image for use in Blender where as this is actually two layers.
If I turn this off you kinda see a white underneath it.
So next I am going to talk about surface normals because they are very important in the way the object is shaded.
Basically, the surface normal is defining what direction this face is pointing, you know these faces are all flat.
So basically, the program needs to figure out which way the face is pointing so that light can hit it.
There are visual indicators of your normals, just a little blue line.
This is essentially an arrow pointing out saying that this is the way this is facing.
Sometimes they can get screwed up, like they’ll be pointing inside and that’ll cause weird errors where you have like this weird black spot here because light’s not hitting it right.
When you rotate the face, all the normals rotate as well.
The more faces there are, the more normals there are, the more normals there are, the more surfaces there are for the light to hit.
I’m going to turn on the complex rock.
This rock has a lot more faces as you can see.
So since it has more faces, it has more surfaces for the light to hit and it looks more complex
You move light across it, this just has a flat, blah, just moves across, and this you can see all the little nuances and cracks in the rock.
There is a way to take the physical surface normals from this rock and turn them into a texture map on this rock and that’s what this map is for.
I am going to talk about baking normals in another section, but it basically calculates the difference between these two and turns them into this.
So Blender uses the normal map like a code, it takes the values of red green and blue and translates them into x y and z.
Here’s the normal map, and I’ve actually added even more detail. I baked the surface from this and I actually added more because you can add it later but I’ll show you now, there looks like there’s detail on that surface when there actually isn’t.
Now the biggest weakness of normal maps is that you look at this from the side, you can see that there’s bumps and stuff and you look at this from the side and there’s nothing, it’s just flat, but from a distance it looks really nice and it’s a great way of getting extra detail in
In this section I covered the two basic texture layers that we are utilizing in this demo. The first layer is the color map, this is a simple image that gives the object a colored and detailed surface. The second layer is the normal map. This layer serves a more complex purpose than the color map since it creates the illusion of a much more detailed physical surface than is actually represented by geometry. The normal map changes how light hits the surface, allowing for a very nice look.
