From zero to a complete Unity3D game: 3D Concentration using C# – step 2: skinning and timing

Time to show you the second step of our Unity3D Concentraton game. In step 1 I showed you how to create a cube primitive, resize and rotate it as well as react to mouse input and change color.

Now it’s time to add some kind of time listener to make it flip again once we saw its value, find another way to rotate it (actually there’s no need to find another way to do it but if you want to master a language you should know a lot of ways to do the same thing) and start texturing it.

Bad news first, you can’t apply different textures/colors to different faces on a primitive Unity3D cube. This means you can’t have a green cube with a black face. There are a lot of different ways to accomplish this task, from creating the cube itself with a 3D modeling software like Blender then playing with UV mapping to creating the cube programmatically, vertex by vertex, then assign different textures to different faces.

Since it’s just a concentration game and we don’t need such a great number of stuff on the screen, we can choose a dirty way to do the same using some unnecessary polygons, which won’t affect the overall speed anyway.

That’s why I added a primitive quad to the primitive cube, stick them together so I will be able to add a texture only on one (fake) face of the cube.

Look at MainScript.cs:

The other interesting thing about Unity3D is the way it handles timed function using Invoke. This way I was able to call a function which covers the tile 2 seconds after it has been shown.

This is CubeScript.cs:

And this is the result:

Click on the tile and watch it flip then after two seconds flip again.

Download the project. Next time, a lot of tiles on the screen!

  • ShockWave2048

    Is unity/c# have some Tween classes for animation?
    For work as “lanch and forget” with animation.

  • Tabrel

    I was using Unity 4.1.5 and it didn’t have a quad primitive but upgrading to 4.2.2 fixed that.

  • John

    Yes there is a tween library for unity….its called iTween and its free and mimics most of the animation features you find in Flash