Bubble World

If only I could write a script for my life that could scale timeToWorkOnProjects up anytime I wanted!

For Project 4 I wanted to work with an idea I had for Project 1, which was to have the player walking around inside of a terrarium world.  You’d feel very small amidst all the large cacti and plants surrounding you.

However, I couldn’t find any cactus or succulent .fbx files I liked…… Also I was tired of looking at this grass, so I decided to simplify my world and make sure I focused on getting everything coded correctly.  I didn’t import any objects except for the largest sphere which surrounds you in this space.

I wanted to have the player be inside of a giant sphere that appears transparent like glass or a bubble.  Normally with spheres in Unity you collide with them when you touch them, or if you turn off the sphere collider you can pass through them.  But I wanted to have the player be able to walk around inside a sphere without falling through the bottom or being able to escape through from the inside.  Editing some collider settings in Unity wasn’t achieving this.  Even though I placed the FPS controller inside the sphere, once I hit play I would start on top of the sphere, which actually looked kind of cool (like peering into a crystal ball or a fish bowl) but that wasn’t what I wanted.

To get it to work I had to import a sphere that was created in Maya that had Normals reversed.  This way the mesh collider would work the way I wanted it to, which keeps you from falling out when you’re inside.

For all of the 3D objects I made I added a material that appears like glass. I switched it to have transparency on, the alpha channel turned down to zero (for the clear ones, but left it at around 30 for the one, yellow colored sphere) and turned the smoothness all the way up to 1.  All of the spheres have a light inside of them, except for the yellow sphere.  It actually didn’t show on the projector well but I added a point light to the fps controller so it’s like you are a traveling light, and you win the game by touching the lightless sphere :).

The floor was made of glass cubes placed in proximity, so it adds interesting depth as you explore the space and you can look down or see reflections in them.

The main, directional light was placed at the top of the sphere facing straight down for a cool, bright, atmospheric kind of look.  If the light was placed at the bottom facing up, it looks like this:

~

I have so many ideas for iterations of my project and different settings I want to play with.  I think keeping the shapes simple and not alluding to any “thing” (like grass) in particular helps me consider more about the process of creating the world, as well as the interaction of the player with the space.  For example, people (myself included) want to jump on the spheres and climb up to the top, especially since the half-sphere/dome shape creates a point of convergence at the top?  One of my original ideas was to have a spiraling staircase that gets smaller and leads to some sort of different object at the top, which sounds really fun to make.  I was also considering having the spheres generate above the player like stars or clouds, not really to be touched but to be viewed, but I think it’s also fun to be able to move around them!  Also since for my project I increased the number of orbs for #maximumaesthetic, they were close enough that people in class were able to jump between them and get to the top, and I wish I could have put in some sort of reward for that heehee!

Future things I need to look into are issues with the FPS controller not being able to look up or down.  I never encounter this problem until I actually Build my game.  I always edit the FPS settings but I’ve never messed with MouseLook so I’m curious what the issue is.  Another problem I had was since I moved my main directional light, I had to regenerate it otherwise my world was dark. That looked pretty cool though.

-Erica Cherrington

11.1.2017

Leave a Reply

Your email address will not be published. Required fields are marked *