2 steps back and then 3 steps forward

Wednesday, September 28, 2011
Unity3d is a very powerful tool and offers many advantages but we've also stumbled on a drawback or two. Namely, that Occlusion Culling has to be sought out and specifically done before exporting your game. In our case, the frame rates were pretty abysmal because we lacked a really solid Occlusion Culling pass.

Occlusion Culling means the game becomes aware that it can take the liberty of erasing things that you can't really see due to obstructions in the name of efficiency. We noticed more than a few jumps in performance. This has been part of a recent focus on researching performance.

We also tried a new terrain object and tossed all the vegetation off to see if that yielded any performance gains. The answer was no. It also allowed us to bump into another issue. Unity3d's tree building tool is impressive but it has scaling issues. That will force our hand to scale up the models and the terrain.

Now, on to the good items.We've added more than a few of the critical buildings that are focal points to the field school experience. We also have added in flood gate logic and our first NPC (Non Playable Character). These latter proofs of concept will allow us to explore a more immersed and narrated experience. The possibility of playing as a villager imposed with the demands of life in El Cerrito is very appealing and that is our hope.

We modeled the School House. A lot of the photos we have to reference show the exterior well but the interior was very much still under construction. It seemed like a good idea to make this a central hub location to mimic its function in real life. Thus, we left the inside empty for now.


Detailed shot of the window frame. We went ahead and modeled out real windows since this is planned to be a high frequency area.


The inside of our school house. Empty as mentioned above.


The Utility Boxes, a few mounting tracks and a smaller window.
We left some of the features on the texture layer. You'll also notice
the dynamic shadows are pretty chunky. We're not very happy with that
and are looking into ways to make this more presentable.


This is our first NPC. We took advantage of this site's
promotional offer of free character generation and
downloads: MIXAMO

It will help to not have to build everyone from scratch
and gives us the option to have more characters in this
sim for better immersion.

They use Unity3d for the front end visualisation and you
pass variables to their back end that bakes up the correct
poly mesh, rigs and textures. Even for the fees they charge
it's quite a deal!


I understand that this is Joe C's House.


A few storage sheds next to Joe's house. They're done for the
most part and were fun to build. I know a makeshift car port
is missing from one and we'll have to add that in.







This group of houses was quite a challenge from a modeling
perspective. I was inclined at first to make one giant mesh
but figured out after a little work that modularity would be a
better approach. You can certainly see how the different additions
over the years stick out from this group of buildings.












Behind Joe C's house is where I'm told tent city usually is.


Our first attempt at game logic was pretty straight forward
and successful. A user will have the option to do a little bit of
irrigation management. One piece of this experience will involve
what's below: a hot area that will trigger the question - "would you
like to open the flood gates". One trick to this was that we had to
deactivate all the user's keyboard and mouse controls while pushing
up the options YES/NO.

When the user chooses YES a secondary camera looks directly at
the flood gate while the animation plays and the gate opens. On
the other side water rises!







After building it I really regret that we didn't build the church sooner.
There is a lot of personality to all the buildings in El Cerrito and
this one is no exception. We have enough photos of the inside that
we could (and just might) finish it out.






The learning curve has certainly been less of a factor on
this round. Maya and Unity3d as well as the production
concepts were a tall order for the first round.

Our next steps will involve correcting our performance issues,
scaling issues, more buildings, finish our prototype for
interacting with NPCs and then design an educational gaming
experience that a user can play to learn about many of the
dynamics about El Cerrito in a complementary way to our
Second Life build (parent project).

Water Features and Casas

Monday, May 9, 2011
Getting the river to show up as one poly was kind of a pain because it was not possible to edit the mesh in Unity and it wasn't possible to get a perfect mesh export from Unity into Maya. Thus, there was quite a bit of back and forth. We tried using multiple simple shapes with the same shaders but that proved to be something Unity3d did NOT like.

We begun tuning things for export and are still having a few FPS (frames per second) issues on the highest resolution settings but am always happy that you can pick the quality that best suits your machine.

For sanity's sake we have determined that just building 1 block and fleshing out the river and ditches is probably where we'll stop development. In terms of building and texturing new models we're pretty much at the stop point.

What we're needing at this point is to finish scripting out a few GUI buttons that manipulate camera views so this may be used as a show and tell piece.

It would be nice to leverage the depth of Unity3d's scripting engine to polish this up into an Immersive Education tool. At a later date this might get run up to production.

In the meantime. here are a few more snapshots:
Tent city. These assets are the same ones used in the Second Life build. The mesh was originally modeled in Maya and the texture in Photoshop. The publishing process was a bit different. Second Life required a sculpt map or "sculptie" and Unity3d wanted the NURBS 3d object to be converted into a true mesh and saved out to FXB. It was nice to be able to reuse assets this way. There is a Mesh BETA viewer for Second Life (SL). If it comes out of BETA and is reliable we may end up being able to use even more Unity3d only assets in SL!


Admittedly, this last building is less than complete but we chose to start development on the canals.


I think we're particularly proud of the detail on this house. Robyn did a fantastic job with all the possible angles and the textures we could pull for skinning.

This is the dam. It was a little challenging to make sure this was built 100% accurate. This may still require a bit of work.

The actual Mt. El Cerrito. It's a low poly model but seems fairly accurate in terms of the textures from the face. A more extensive model could be built but in any case that more polygons and photoshop time is to be invested it should be only on high value teaching items. In the event that this ends up being such an item we'll revisit it for sure.

We developed the long lots a bit more with texturing, irrigation ditches and trees. The Unity3d tree editor is a really valuable tool.


Zoomed out views to show the extend of what we modeled for the river mesh.

Autos and Barbed Wire

Thursday, February 17, 2011
With a small degree of exploration we now have a workflow that allows us to appropriate Google 3D warehouse models for use in the Unity3d world. Some of the models are so basic that we're not really saving that much. Others, however, have been finely crafted and are saving us a considerable amount of 3D modeling time. Modeling aside, UV mapping and texturing are needed in any case. Our general working knowledge of UV mapping techniques has blossomed. This affords us the ability to make professional and high quality objects. We did try and decided against using Maya to bake the shadows onto each texture.





One thing we did was to take the 2 hand drawn maps we have and try to put them in-world to the appropriate scale. This helps us with a more accurate build and solves a lot of scaling questions we had about the buildings, cars and surrounding topography. Robyn said this is the most accurate we've been yet!


This is a decent example of Unity3d's tree creator tool. This tree was generated procedurally with just a few clicks and slider drags.


Here's a pulled back shot of Block 4. Barbed wire fence, old trailer and some junky old cars are starting to meet the personality of the photos Robyn shot. It's kind of neat to make some of these 3D virtual shots line up almost exactly to the real thing!


Closer detail of the old trailer and van. Both are Google 3D warehouse models we retextured and cleaned up.


Detail of the van front. We had a particular problem with that grill. Unity3d only will apply texture to one side of any 3d object. The other sides aren't rendered and just don't exist to Unity. Turns out that the "outside" of that van's grill was seen as the "inside". The result was us seeing right through the van ... which was unacceptable! Ultimately, we just remodeled that one small piece and UV mapped/textured it out to give us a useful model.


Google's 3D warehouse even has air conditioning units. We UV mapped/textured this one and plunked it right in Unity. Admittedly, this would be easy to model but in the grander scheme of things any trimming we can get on our workload is very welcome.


Another Google 3D Warehouse model. Lots of great detail. If anything, the UV mapping was a bit more challenging. Originally, there was no textures and just flat color shaders. You couldn't really see the car's details and it stuck out like a sore thumb against the buildings we labored over to make realistic. A little texturing and we're good to go.

Block 4 building progress

Wednesday, February 2, 2011
We've been super busy modeling, UV mapping and texturing out these buildings. We recently found that Unity3d Pro supports something called Sun Shafts. These are another layer of reality that really helps flesh things out in our quest for immersion. Emin found Google's 3D warehouse and now we're looking at how to reformat some of those files so they will play nice in Unity.


This is built out from USGS terrain data. It allows something that we couldn't really enjoy with Second Life - vast spaces. Now, we can entertain adding in more material about the surrounding area for exploration and a broader scope.

Here is a closer shot of the village from the hilltop. The white boxes represent shells of houses we're modeling. The sun placement is consistent with the skybox textures. We're also looking at an environmental engine that will allow to have day to night cycles, varrying cloud cover, etc. Right now, we have a very static sky.

Block 4 - building 2 screen shot from behind. An old rusty tractor will go by this building eventually. Emin found one or two on Google's 3D warehouse. We just need to solve that translation problem! Note the sun shafts casting into the scene.

This is a detail of how the mud brick walls will begin to melt. I'm told a lot of these buildings will decay in a similar way into nothing more than a mound of dirt.

Same building but more from the side. Here you start to see the rock wall. Note how the shadows are casting. Another feature that comes with Unity3d's Pro license. The trees are admittedly a bit sparse in the background. Easy fix.

More detail of the Rock Wall. Robyn informs me that this is usually referred to as the cactus wall. I guess we'll be modeling a cactus to put in its rightful place. lol.

Building 7 shot.


You can really see the sun shafts being rendered here. This is the front side of Building 4. I realize these are arbitrary numbers but its how we're referring to them. This was our first building to be modeled in Maya. Lots of stumbling and testing on this one but it yielded the experience to get a reliable workflow and learn much about the nuances of the Photoshop/Maya/Unity3d relationship.

Little details like the roof piping and even the barely discernable support wires will help make this a successful endeavor.

That's all for now. We're focusing on modeling at this point. A lot of scripting trial and error has already been conducted. Thus, after we get things built out we can start looking at how the SIM will be focused into something that serves an educational purpose in a way that taps all of Unity's robust offerings.