Lots of progress today.
Bug Fixes and Improvements
Every so often, my “blink” mechanic was leading to a black screen with no “unblink”. I made some changes that I think have solved the issue. My script removed the targeted cube from the scene when teleporting to it, re-enabling it whenever the user teleported somewhere else. (So the user wouldn’t be standing on a cube.) I think that using setActive(false) on the cube was causing issues. So instead, I enabled/disabled the mesh renderer for that cube. Time will tell if this was the issue. It happened much more on my phone than it did on the PC.
I improved my door controller, adding a checkbox that allowed the door to switch between “toggle” mode and timed-wait mode, the latter of which causes the door to close again after a few seconds.
Audio!
I added sound effects for the door using the Google VR SDK tools. Many thinks to Pempi from the Freesound project for his awesome elevator sound. He says he actually broke into snuck into the mechanical penthouse of a building to record it! Whatever the source, I often use it for both elevators and (with some pitch/length alterations) doors.
Environment Modeling
I blocked in all the major areas where I want gameplay. There are three areas. The first is the long balcony. To the left is a small apartment complex (with one apartment that the player can enter). To the right is the main office for the apartment complex. The idea is that the player will first have to go to the apartment office to get the key to get into the apartment itself, after which point they can look for clues.
Early morning shot of the game environment.
Apartment hallway
Apartment Office
Detail Models
I made a few small detail models, including a desk and a light fixture. I’m planning on creating some couches, tables, bed, lamp, etc for the apartment.
Light Fixture
The desk. I’m super happy with the way it turned out!
Lighting
Ugh. Just, ugh. I was originally going to use Blender to bake lightmaps. However, the indirect lighting feature only supports “approximate” gathering, which makes for some interesting lighting bugs, like this one, where the light is going through the fixture itself:
The light from the bulbs is going through the light fixture to shine on the ceiling.
Strangely, there was a patch that enabled true raytracing for indirect lighting for Blender 2.6. I’m not sure why this was removed for Blender 2.7. I think it’d be very useful!
So, I decided to use Unity instead. I’m not exactly enthused with Unity’s lighting system either–I gather I’m not the only one–but it’s workable.
Here’s some screenshots.
Early take on the lighting on the balcony.
Actual lighting in Unity. Ignore the half-columns. I’m fixing those!
In-Game Screenshots
Early version of balcony, no lights.
Early version of office, no lights.
Balcony with pre-baked lightmaps in Unity.
Office with pre-baked lightmaps in Unity.
Future work
Tomorrow I plan to get a basic on-screen dialog system working, as well as creating some computer and switch props. I haven’t decided if I’m going to put people in the game. Maybe robots! Robots would be easier.
I also need to decide if I want to fight with Unity’s lightmapper more or try to pull off vertex lighting. I don’t think vertex lighting will work very well, but I might give it a shot.
Until tomorrow!