I've been busy.
I've added more models and toys to MOTU CE, and have completely updated most visuals and the textures to use pre-baked lighting and shadows (for the main lighting, G.I. and spotlights).
Snake Mountain Snake
I added a new Snake Mountain snake model. This was from the Snake Mountain 3d scanned model, so I had to convert this down to more optimized numbers of polygons. I also had to manually paint the snake like I did for Snake Mountain, since it didn't have any textures created for it. I tried to make it look similar to the classic 80's toy I grew up with. Turned out great.
The snake is positioned on the top left ramp. When a ball rolls through the entire ramp, the snake will rotate to follow the ball as it passes by, then returns to its default position when the ball exits the ramp.
Snake Mountain doorway and door
I really wanted to add more to the table for Snake Mountain visuals. The left side of the table is geared towards Snake Mountain, while the right side is geared towards Castle Grayskull.
So I purchased a 3d model of the classic Snake Mountain toy's doorway and its wolf head door. This was a tricky one to convert and remodel. I also prebaked new textures for both the doorway and the door to make it look so much nicer with shadows.
The doorway is placed at the halfway point of the ripper ramp, which now converts to a different type of ramp at the doorway.
Snake Mountain bridge
I really wanted to add the bridge from the Snake Mountain toy to the table.
I wasn't sure where I could use it. Then it clicked. Why not convert the ripper ramp's second half to the bridge and combine that with the snake, and doorway to act as a complete "escape from Snake Mountain" type of ramp.
So I purchased a detailed model of the classic 80's toy bridge. I had to remodel this in a way so it would follow the shape of the invisible wireramp while reducing the polygons. I also prebaked new textures to add shadows that really add a nicer depth to the look of the model on the table.
How it works.
When the ball goes through the ripper ramp, it will roll towards the snake which will rotate to look at the ball. When the ball passes the snake, it rotates to follow the ball rolling down the ramp towards the door. When the ball hits the door it smashes it open. The door uses BAM's miniplayfield easing feature (set to bounce) to easily animate the door to have a cool bounce effect when it opens and hits its max rotation.
Then the ball passes through the doorway and transfers to a short wireramp which then becomes the bridge. The bridge will "glow" to the same colour as what the neon light on the ramp is showing. This cool effect uses BAM's custom model RIM feature.
When the ball rolls off the bridge to the left inner lane, the bridge glow turns off, the door will close (with a bounce effect), and the snake returns to default position.
Video demo of the Snake Mountain ramp toys:
View attachment sm ramp.mp4
Blender and prebaking textures for lighting and shadows.
I've spent a lot of time with Blender to learn how to do some prebaking of some lighting and shadows of the table and most items. This completely elevates the visuals of the table. The results... especially during gameplay and in VR, looks awesome.
This requires the table to be completely imported into Blender, rebuilt, and have all default textures applied. I had to recreate all the table's G.I. and spotlights.
Future Pinball has realtime dynamic lighting that looks amazing, but those lights can't recreate shadows for all the items on the tables. We can use BAM shadowmaps for every light, but that only applies to the playfield surface.
By prebaking textures for many table items in Blender with G.I. on and G.I. off conditions, you can create a much more realistic look to the table. The lighting and shadows applied across all items can really make a big difference in how the table looks and the depth effect it gives.
I have to click on each table item in Blender, then have Blender "bake" the item with the lighting conditions I have set. Then I save those rendered images and import them into FP. I have to do this process for each item one at a time. In most cases I do this with G.I. lights off (just the main / sun light is used)... and also do this with the G.I lights on.
Blender does this using ray tracing, so you can have all aspects of lighting, reflection, emission from all items on the table have an effect of the rendered texture. I find that I don't like to use a "full reflection" rendered look, as that only looks good from one camera view. (the ray traced reflected illusion loses it's effect once your camera view changes or if you play in VR).
Then I change the table's code to change all textures on the table for G.I. on and G.I. off and other lighting conditions such as spotlights being turned on / off. I didn't go crazy to do this for "everything", as FP's dynamic lighting combined with the prebaked textures I do use, makes for a fantastic combination when used correctly together. this work really well with FP's moving camera views, and looks stunning in VR!
The Combined Result!
Here is how the table looks with the prebaked textures in-game! I LOVE how this turned out. When you compare it to the table with the original textures, it really stands out. The direct and indirect ray traced lighting / shadows on the playfield, backwalls, sidewalls, ramps, plastics, metal guides, etc really works nicely in all views.
When I play this in VR, it looks like a real table is in front of me, and the toys look like the real toys from my childhood. Now I'm going to want to do this for other tables now! (this was always the plan for Silent Hill).
Now that I'm at this point, I need to focus on getting some of the Man-E Modes done.