Thomas Doukinitsas
Showing posts with label 3D. Show all posts
3D MODELING: Ufo and Animation

3D MODELING: Ufo and Animation

To start off our last session we created a spaceship out of a cylinder using the extrude tool and the insert edge loop tool. I also used the soften edge tool to smooth the more spherical surfaces.


I also added some further detail for some possible lights at the outer rim of the spaceship

The next step was to UV map the model. Using a combination of Planar and Cylindrical Mapping i managed to efficiently map the faces

After exporting the uv snapshot i painted the textures in photoshop
and then applied them using a blinn material in maya
We also added a specular map to control how the object shines.

Also to add detail to our model we created a higher poly mesh with some extra details, and then transfered it to the lower poly mesh as a normal map

This is what the final model looks like:

To finish our lesson, we learned how to do basic keyframing, and how to use the graph editor to make a looping animation of our ship spinning


INTERACTIVITY: Audio and Score Text

INTERACTIVITY: Audio and Score Text

To start off we created a quick script to destroy our explosion prefabs after they've exploded


Next it's time to add some audio to our game. This is done with an audio source component since we have a 2D game


We added these to our explosions, and chose "play on awake" to play the sounds as soon as the explosions are spawned in

Now for our bolts it's a bit different as we have to trigger them using a script. This is done using a simple "audio.Play ();" line after the bolts are instantiated

Also we added some background music to the GameControler gameobject.

Another thing that we did was to add some score text. We did this using a GUIText component on an empty gameObject.


We added some further lines of code to the GameController and DestroyByContact to refrence the text and set up the first bit of the score code.



then we just had to trigger the event in the DestroyByContact code

Lastly we duplicated the GUIText layers twice for the restart and game over text


also we finished up the code with triggers and custom functions



3D MODELLING: Sculpting and Applying Normal Maps

3D MODELLING: Sculpting and Applying Normal Maps

During this session we are learning to sculpt in sculptris, and to add detail to a low poly model using normal maps.

We started by using the software's paint tools to sculpt an asteroid.

After this was done, we exported it into an obj model to bring in to maya

For a proxy low poly mesh we added a sphere and roughly matched the position and scale of our high poly model

Now it's time to transfer the detail over.


Using the transfer maps dialogue we chose our source and target meshes, and selected that we wanted the detail to be transferred using a Normal Map.

An important thing to notice is that both mesh's existing normals have to be smoothed for the transfer to work correctly

Also the resolution was bumped up to 1024x1024 to preserve the detail better

The result is honestly quite impressive as the low poly model looks very detailed, even though it only consists of 160 polygons compared to the quarter of a million it was before.

We also tried baking the Ambient Occlusion map as a texture (although we had to make sure that the Mayatomr plug in was loaded). Here are the results:


To fix some of the edge issues in the Ambient Occlusion map i opened it up in photoshop, selected the black areas and used the Content Aware Fill to fix the edges.

Next i painted a texture based on the ambient occlusion map
This helped as in sculptris i had made some scratches that inspired part of the texture map

Also we did this process by updating the meteor we did last week. We exported the low poly mesh, sculpted it, re imported it and transfered the maps over


3D MODELING: Asteroids & Enemies

3D MODELING: Asteroids & Enemies

During our second workshop we started off with modeling a series of asteroids for our Game


These started off as basic spheres and cubes, deformed using the vertex tool using a soft selection.
An important part in this process was the smoothing of normals to eliminate hard edges (Normals > Soft Edges)

After the base mesh was done i made a texture in photoshop.


The reason i made two textures is that i wanted the lava to be illuminated separately from the lighting situation, therefore the texture is going to be assigned in to the "Incandescence" channel of the blinn material.


Also the incandescence channel can cast a glow in the render... how cool is that? :P


At this point i had to play around with the UV mapping of each asteroid to avoid certain wrapping issues as seen below:



The best way to wrap the texture seemed to be creating a cube, creating a spherical UV map and then deforming it. This is the final uv that i ended up with after a tiny bit of cleaning up:
The next step is to clean up the already existing material to better fit the new UV's
Using the liquify tool i tried to bulge the texture slightly so that it better follows the wireframe

I also used the clone tool and the paint tool to better cover the edges.

After applying the new texture, it looks like there are no edge issues

During the second part of the lesson we were asked to build another spaceship, this time to be used for the enemy.



This time i decided to actually draw a mock up design, going for a deep red scorpion inspired organic shape, to seem more like an alien ship.

By using the box modelling techniques we learned i modelled half the spaceship in a rough form.


After that using various different projections i tried to lay out the UV's to get the model ready to map.


Also to get the organic shape i was looking for i smoothed the mesh, and then duplicated and joined the mirrored half to complete the shape.

To texture the ship, i added a base color and texture and then painted in small details

After also adding a incandescence channel, and tweaking a few things this is the final ship:

All and all, all the models together seem to work well together
This is the final enemy ship model (the mesh error is part of the web viewer, not the model)