Saturday, March 17, 2012

JII Version 6: Lighting and Geometry

  


Version 6 of the web simulation is now live.  It was going to be 5.4 but a whole lot has changed, both visible and behind the scenes.  Here's what is new:


Overall
- Lighting has been added everywhere.  It isn't that noticeable outside, but it shows in the ride and theater.  I think the new lighting in the Image Works is the most dramatic change though.  I'm really pleased with it.
- I have divided up the geometry into smaller pieces everywhere and fixed the "normals".  Both of these things should improve the quality of the textures and lighting as well as make future updates easier on me.


Outside
- The new elevator cover and lobby murals are in.  Yay!
- The weird transparent exit doors from EO no longer look into the void.


Ride
- Brand New Show and Laser Ballet are a little more fleshed out.
- The music sync issues should be all better now.  Let me know.
- Some transparent and missing walls are fixed.
- I have set up a system to turn scenes on and off as you move through the ride to save processor work load.  This still needs to be tweaked and is obvious in a few places.  I can't guarantee there won't be weird behavior when walking around.


Theater
- This are just got new lighting and a bunch of geometry fixes.


Image Works
- Bubble Music, Magic Palette, and Rainbow Corridor are updated.  Bubble Music has sound too.


Known Issues
- I'll fill this out as bugs become known.  Should be any minute now...


What's Next in 6.1
- Dreamport scene in the ride.  Finally something not at the end of the ride. 
- Light Writer and Lumia in the Image Works.
- In the theater, I'm switching the pre-show to Makin' Memories, removing the HISTA frame around the main screen, and adding the automatic doors on both sides.
- I haven't decided about the Outside scene just yet.


   

Saturday, March 10, 2012

Me vs. Lighting


I just had an "Aha!" moment followed by a big sigh of relief.  I just discovered that I'm not as stupid as I was starting to feel.


I have been trying to add lighting to the model since I started and have been hitting major roadblocks every step of the way.  This is the reason that the model has been mostly uniformly lit from a single direction.


What kills me is that a big chunk of my real-life career was spent as a theatrical lighting designer and technician.  I swear I know what I'm doing when I can get my hands on a wrench.  However, I'm not a 3D artist and everything there is to know about building this simulation is learned as I go.


So, not knowing any better, I just grabbed a bunch of virtual lighting fixtures and went to town.  Trouble is, the lights would behave very strangely.  They would spontaneously change dimmer levels, have weird shadows, and even point in directions that made no sense.  I briefly had lights in the theater but it looked so bad that I removed them out of frustration.


Today, I did some research and found out that my problem was not the lights themselves.  It was the surfaces that I was lighting.  The 3D models have these things called "normals".  I won't bother explaining, but the short story is that I was using the normals wrong.  I fixed that thanks to some explanation in a Unity forum and BOOM, everything is working like it's supposed to.


I'm adding proper lighting to the ride scenes that are already in now.  I may get some lighting into Captain EO and Image Works in the next release as well.  Until then, please enjoy the screenshot above of the first lighting fixture in the model to work correctly.

Tuesday, March 6, 2012

Trials of Music and Motion



One of you recently discovered a bug in the current version of the simulation.  If you use the skip function in the ride, the music gets very out of sync shortly after.  Thanks for letting me know, Catherine.  It will be fixed in the next version.


Anyway, this got me thinking that I'd like to write a little bit about how the music timing works in this simulation.  It involves a bit of background into the soundtrack and an explanation of how the simulated ride system works compared to the original real thing.  


In other words, this is an excuse for me to geek out.  This may be boring.  You've been warned.


I'll start with the soundtrack.  In the original ride, the music consisted of a series of synchronized loops that played endlessly and simultaneously.  As you moved from room to room, the loops naturally cross-faded smoothly by way of distance from the speakers.  There was no specific beginning or end of a loop as a rider but you would likely hear most of a loop as you passed through depending on the size of the room.


This is not how it works in the simulation.  I do not have the ability (currently) to run a bunch of simultaneous loops like this.  I have a single track that represents a ride through the attraction.  However, it is not an actual recording of the ride through.  Someone took all of the separate loops and mixed them (very well) to basically represent the overall experience of the ride in the correct order.  In order to make the audio experience better, the cross-fades between scenes are deliberately set at the beginning and end of the loops.  This sounds great and lets you hear the soundtrack in its entirety, but it does not accurately represent the length of time you would spend in the scenes if you were on the ride.  For example, the Literature scene (scary part) is very short on this track and the Science scene is very long.  More on this in a minute...


The original ride system was unique in that it had several speed changes and synchronizations that made it spectacularly complicated.  There was a slow speed for the Omnimover-like load and unload areas, another speed to lock up to the turntable movement, and another speed for the train-style movement through the rest of the ride.  This system had a lot of technical problems that contributed to it opening later than the rest of EPCOT and eventually being changed to its current layout.  Trying to recreate this has given me more than an appreciation for how troublesome this ride system was.


The recreation uses a Unity 3D plug-in called Splines.  I used it to create a looped track of 200 points.  You can see some of these in the picture above shown as white boxes.  Each point represents a new turn, incline or decline, speed change, and horizontal rotation.  These points are invisible but they are aligned to the fake track visible in the ride.  In the lobby, there is a completely separate 20 point track guiding the empty vehicles in a small loop just for the visual effect.


So, here we have 200 points and a fixed length piece of music.  To make this appear to work correctly, I have added about 10 different speed changes.  I initially tried to do the math to work out the timing.  Bust.  In the end, I simply picked a speed, started the ride, watched how far off the end of the scene was from the music, made a guess at an adjustment and then did it all again.  To ensure consistency, all subsequent scenes were timed after waiting to get through the earlier scenes.  I got pretty tired of the repetition after a while and do most of the testing of other things with the sound muted now.


At the very end (when I thought I had everything right), I added the ability to jump over the turntable scene.  I actually managed to get the music jump and the track jump right on the first try.  I was very happy with myself.  So much so that I overlooked something that seems obvious in retrospect.  The turntable skip also skips a very important speed change point (by only 2 points).  Because of this, the vehicle is moving way too fast through the Dreamport and Arts scenes.  I didn't see this because I didn't ride the rest of the ride after I tested the jump.  Oops.


The good news is that after more testing and adjustment, I have fixed this in the next version (6.0).  I hate to leave the error out there for all to see but 6.0 is still under construction for several other things and will have to wait a little while longer.  In fact, I'm getting back to work on that very thing right now.

Sunday, February 26, 2012

JII Version 5.3: Science and Music

Version 5.3 of the simulation is up and running!  Here's what is new:


RIDE
- The Science scene in the ride is fleshed out a bit.  This includes the set, some lighting, and special effects.
- There is some early work on sets and props for the Brand New Show scene.
- I've changed the walking mode so you are not always trapped down in the track pit.  The POV is still lower than the ride vehicle but it is a little easier to move around now.


IMAGE WORKS
- The Electronic Philharmonic is more detailed in the Image Works now.  This includes its music (thanks to E82)!
- The 3 entrances and exits from this scene to the upper lobby are a little clearer now.  There are still shots of where you are going in the doorways to make this easier.


OUTSIDE
- There is now pavilion atmosphere music outside and some MJ goodness in the Captain EO entrance lobby (thanks again, E82).
- I fixed some weird geometry that was causing long dark lines on the sidewalks.  I also fixed the invisible dirt in the potted plants and texture issues with the Follow Figment sign upstairs.


THEATER
- Those stupid exit signs are working now.  You'd be amazed what a pain those managed to be (for reasons I don't entirely understand).


KNOWN ISSUES
- The music gets very out of sync if you use the "skip turntable" function in the ride.
- If you want to see a mildly amusing goof.  Check out the EO exit doors from the outside.  They're not supposed to be transparent for obvious reasons.  Oops.
- There are a few missing and transparent walls in the ride.


WHAT'S NEXT IN 6.0
- Brand New Show scene (and some major technical upgrades) in the Ride 
- Bubble Music and Magic Palette (and general architectural additions) in the Image Works
- Proper lobby murals and elevator shaft in the "outside scene"
- In the theater, mostly quality and efficiency upgrades


   

Friday, February 24, 2012

Previews and Plans



I think I have a plan now.  We'll see how long it lasts...


Up until recently, I've been mostly working on getting every part of the building built (Image Works was the last hold out) and getting all of the programming working right (mostly with the ride system).  Though there is still tweaking to do, those major milestones have been met.  From now on, it's just a matter of layering in various levels of details throughout the entire attraction.


And there is a lot to do.


I think I want to try to flesh out one piece of the 4 scenes (outside, ride, theater, image works) on each update now.  And I think I'll try to name what the next pieces will be each time I do an update.  I work really well with stated goals so this will help me stay focused.  So here goes...


The next update (which I'm working on right now) will include major work on the following pieces:


- Electronic Philharmonic in the Image Works.  As you can see from the sneak peek above, I'm getting there.  And I am pleased to announce, that thanks to E82's JII Music Compilation, this exhibit will include its proper music!


- The rest of the Science scene in the ride is next as well.  I will try to put some lights and FX in there, but functioning video is not possible yet, mostly because I don't have copies of it.  I'm also sticking with the placeholder Dreamfinder figure for now.  Animated characters is going to be a new effort all on its own.


- I'm going to try to add the remaining area music for the outside scene.


- The theater is pretty complete already.  I'm still looking for better reference material to make it look like it did when EO originally ran.  In the mean time, I'm going to fix the stupid exit signs.  It's not much but it drives me bonkers.


There will be little bits of other things in there as well and that will probably influence the next round.  For example, I've done a tiny bit of work in the Brand New Show ride scene.  And I'm still slowly crunching through various optimizations that should improve overall quality over time.


Anyway, that is the plan.  We'll see what happens with it.  And now, I'm getting back to work.


  

Sunday, February 12, 2012

JII Version 5.2: New Ride Track

Version 5.2 is up and running (again).  This is not a huge update but it has some important new elements to it.  Because I'm feeling lazy, please enjoy the updates in bullet point list form:


- Upgrade to Unity 3.5.  Because this version is new, you may need to update your WebPlayer.  It's quick and easy.  Get it here.


- Using the recently acquired JIYI blueprints, the track path has been completely replaced.  There is now an architecturally accurate track (with rails), track pit, emergency egress path, and multiple show platforms.  This update required me to move a whole lot of walls.  What you'll see inside does not really indicate the amount of work that went into it.


- There are now properly scaled (though not always properly placed) placeholder characters throughout the ride.


- The Flight of the Imagination scene is a little more interesting to look at.  The Dreamport and Science scenes have a little bit of progress too.  Remember, you can hit "W" and walk around if you don't want to wait for the ride.


- (Simple) special FX in the ride!!!


- Tons of optimization of the models thanks to some pretty cool Sketchup plug-ins.  I've also started the long process of breaking down the model into smaller parts for better culling in Unity.  This will be an ongoing thing that should continue to improve quality over time.  I'll introduce this in parts as I keep adding to the model.  If I try to do it all at once, I'll lose my mind.

Sunday, February 5, 2012

Ride Blueprints!

I recently got access to the blueprints for the 2nd incarnation of JII, Journey Into Your Imagination (JIYI).  I was both excited and hesitant about this because I wasn't sure how much information would be helpful in recreating what was there before.  When I first looked at them, I knew immediately that they would help me in getting the track path and many of the major walls arranged correctly.  No matter what, this would a good step in the right direction.

And then on closer inspection, I discovered this little gem...

Facility egress path.  Doesn't sound like much but this information is a HUGE find for me.  The egress path is an evacuation walkway that follows the entire ride track.  In JII, it is always located on the right side of the vehicle (where the doors are).  This is a big deal because the egress path is pretty much always at the same elevation as the base of the vehicle.  Since JIYI did not alter any of the track that it uses, this gives me accurate track elevations for almost the entire ride.  And I believe that the deleted sections of track were all level with load and unload (the magic scene being a possible exception TBD).

Some other helpful bits of info in these prints include the vehicle dimensions and track width.  In a few cases, the prints also tell me the height of some of the set platforms from the original ride that were reused.  The rest of these can be figured out from the egress path as well.

As you can see in the screenshot at the top of this post, I have already recreated the track and egress path with the new dimensions.  I am integrating this into the ride model now.  I am going to have to move around several walls and fix the placement and dimensions of some of the sets I've already started building.  So I am taking a few steps back to make this right, but I think it will be worth it in the long run.

This next update may take a bit of time since I am doing this, upgrading to Unity 3.5, and trying to slowly introduce some helpful Unity tips and techniques I recently received from Chris Wallace over at Horizons Resurrected (thank you!).  Should be a nice update when it's done though.