Modelling a Sports Stadium

Rugby Skills Challenge 2013

I’ve had a great month and half or so developing a 3d model and beta testing on a recently released iOS title by game developer Russ Morris.

We got talking about his Rugby game at the Unity UK Christmas party and Russ mentioned about needing a Stadium model for his game, naturally I said “hey, I’ll give it a go” and after a lengthy conversation in which I actually remember the day after, I nagged him for a bit to send over the details, thankfully Russ obliged and the creative development began.

So I wanted to blog about the development of the stadium model and some of the techniques I used, trying to keep it as low poly as possible for mobile development.

Starting point:

My starting point is the centre piece, the field of play, I needed to research the typical dimensions for a Rugby pitch. Modelling the basic rectangular shape then expanding out from there, having the focus point in place gave me a good start in terms of thinking and planning the architecture of the model. Using reference images taken from Cardiff’s Millennium stadium and the Aviva stadium in Ireland, the important thing was to ensure the shape and architecture of the model was directed at the main focus point (the field).

Pitch

The design is to have the curved corners in the tiers, so the stadium is a full oval curved shape like most modern day stadiums have. From here I started building up the second tier and adding some basic roof structure just to get an idea and feel for the model.

Adding details:

I quickly moved on to adding details to the tiers, adding steps and entrance points for isles, the challenging area was creating the corner tiers, I used the technique of extruding and rotating each time by hand, but I could of used the bridge tool and add the correct amount of segments, then reposition each set of poly’s, either technique would of worked fine.

Adding Detail

I finished the lower tier, so I had a fully completed lower tier with steps and isle details added, the good thing is, for the top tier, I can duplicate the lower tier and make adjustments to the positions of some poly’s and up scale when needed, no need to fully model the top tier from the start again. Here’s both tiers fully completed:

Fully completed stands.

I needed to close the gaps up and model some outer geometry, I modelled a bunch of cubes and joined the verts together at each adjacent point, It was just about getting the right positions and joining the correct verts together.

Creating the roof:

The roof structure design is to be based on the Millennium stadium in Cardiff, the corners needed to have gaps, the support structures needed to be added as well.

The Millennium Stadium
Adding roof structure
Support structure

Combining all this together gives me something nearly complete, all the rest of the tweaks were added by Russ in the game project, such as texturing and advertising boards etc.. Here’s the final model in Modo:

Rugby Stadium

Download and install the game now, you can download it by searching for Rugby Skills Challenge 2013 on the app store or by clicking the image below which redirects you to the app store:

appstoreThanks!

Unity and the Beast

I must say I experiment a lot with Lightmapping in Unity using Beast and I have never wrote anything about it, so I wanted to share what it is and how it might be useful to some of you.

Since the time of Quake which was the first video game to utilize lightmapping, Unity has integrated the Beast lightmapping technology for both the pro and free version, yes! you can use expensive rendering power for free on your games, I know what your thinking…this is awesome, and it is,  lightmaps can really bring your environments to life.

What are lightmaps?

If you have read this far without knowing what lightmaps are, I’ll give a quick overview, a typical lightmap is light data stored into a texture and applied to static objects in your scene, lightmaps in Unity take into account meshes, textures, materials and lights.

Unity contains 3 lightmapping modes to choose from, Single Lightmaps. Dual Lightmaps and Directional Lightmaps, each mode has slightly different functionality.

Single lightmap mode uses the far lightmap only, this is a baked texture, so pre-computed and contains full illumination.

Single lightmaps

Dual Lightmaps use a near and far lightmap texture, the near lightmap texture contains indirect illumination from lights set to auto, full illumination if your lights are set to BakeOnly, emissive materials and sky lights.

This near lightmap is only used when within the distance of the camera, when within the camera distance auto lights are rendered as realtime allowing for specular, bump and realtime shadows, this is not a feature for single lightmaps.

Single and  Dual Lightmap

On the right hand side on the image showing dual lightmapping, the near lightmap texture is used, this is because we are within the camera’s distance, near lightmap texture is showing both specular and bump, as if it was realtime lighting. If we were to pan the camera away from the leaf we would eventually not see the bump and spec because it will fallback to the far lightmap, which is shown on the left.

Using Directional lightmapping in Unity has the ability to bake specular and normal maps into the texture without using any realtime lighting, the lightmaps encode the direction of the light so that it can be used in the pixel shader to vary the lighting depending on the per pixel normal and calculates specular for the average light direction.

The image below shows baked specular using directional lightmaps, I have a simple mouse orbit script attached to the camera which allows me to see the specular highlights on all the cubes in the scene.

directional lightmap

Other area’s of lightmapping which I haven’t mentioned in any real detail or at all are using emissive materials, they can give some really interesting effects, as well as area lights, light probes and lightmapping dynamic objects, that’s a whole new dimension of fun.

Maybe I’ll write about those some other time, for now I encourage you all to have a play around with lightmapping. Catch you soon!

Unity to Modo and Back Again!

This is somewhat a long overdue post which shares my initial discovery of Modo so here goes…

I finally took the plunge into the Modo universe, having been aware of it’s existence for some time and as an explorer of new technologies and software I couldn’t resist, my curiosity got the better of me damn it!

I’ve been working on the project for some time now, I wanted to design and model the interior of a flat, using the flat I live in now for reference, my aim was to model everything in Modo and then import the scene into Unity, using Unity’s rendering and post processing effects to bring the scene to life.

Everything has a beginning..

I began learning Modo following various tutorials from AppleSoldier and The3dNinja, doing proper n00b tutorials just to get a feel for the package and understand my way around the UI, after becoming familiar with the workflow and modelling basic shapes I felt quite confident with jumping ahead and start modelling some of the assets needed for my scene. Before doing that however, I did some technical drawing which included measurements and positioning of objects which created a basic layout for my scene. Here is the basic layout modelled in Modo:

Image

Moving on from this I began modelling more complex assets such as furniture and other props and objects needed:

Each object and prop had been UV’ed and saved as .lxo files. I really like that Unity uses native files as saving an edit to a model in Modo would automatically reimport that model in Unity to reflect the change, which is great because it happens almost instantly and this is amazing for iterating.

I imported all the assets into the initial basic layout scene in Unity, positioning each object precisely which gave me something like this:

The scene is actually lightmapped in Unity using Directional lightmaps with a Max atlas size of 4096 x 4096.

I found the workflow between both packages relatively easy, as long as you save .lxo files to your Unity assets folder inside your project then all good.

Moving on to texturing, I decided to use the library of Substance materials available on the Unity Asset Store, I hadn’t used Substance materials before in what I consider a proper project, I had only messed around with them but they add a great deal of realism and depth to your models and I wanted to explore that more.

An example:

After adding all the textures, some objects using Substance materials and other objects using different textures I had produced a scene which I am happy to show:

Thanks!