Intro/Backstory: Wherein we lay our scene
So, I’ve been looking at my list of trail projects and trying to get started n things. I’ve started a few blogs posts about what was in my pack and why I was carrying it and things like that, but really was having a hard time getting things underway. As it turns out, returning to life after hiking 1,300 miles is full of all kinds of little complications, not the least of which was that my hard drive was mostly full when I left.
So, at every turn, I was staring down the barrel of 45GB free on my hard drive. The funny thing about that situation is that my first project was to clean all of the photos and videos off of my iPhone so that I could curate some of them for twobyfoot.com, not to mention all of other projects I have planned for them on this site…couple that with the fact that I promised Brandie’s mom that I’d do a data recovery from a defunct family computer and the fact that I was helping James by comping the 4-5 remaining shots for Pink and Blue…aaaaaand now it was 13GB free.
It was a great relief to move some finished projects (i.e. Pink and Blue) I needed to DropBox and choose to not sync locally… so 135GB free. Now, where is my motivation…oh yeah, being eaten up by moving from house to house since we don’t actually have a permanent place to live.
Okay, all backstory aside, this current project did not come as planned, it just kind of ended up what I was working on, but it’s something I’ve been meaning to explore. I opened up Modo the other day, for which I have a temporary student license, along with the rest of The Foundry’s Creation Suite. Mostly, I’ve only used Nuke, but I vowed that I’d check into Modo and Mari to see how they integrate into Nuke workflow when I returned to civilization, so I opened up the program and was met with its splash screen:
Now, I’ve had Modo open a few times before and tried a little modeling and such, so I really didn’t want to mess with it, but I did want to play with Dynamics, so I opened the Simulate section and followed the tutorial to open a Demo Scene and set it up and run a dynamics simulation of a little car that would smash through a wall of bricks. While this may sound like it was no fun, it was deceptively entertaining. I mean, come on, it’s like having a stack of blocks that you can setup on the kitchen floor and run a car into and watch it fall, over and over. You can send it fast or slow…and you never have to clean up!
The sims ran pretty flawlessly and took very little setup. I had a couple of mess-ups getting it going, but it was overall really, really very easy. Granted, there was some behind the scenes stuff that was already setup, like when the car went forward, the wheels turned. I looked at the whole scene and thought “I wonder if I can make this work in Maya?”
A little backstory to the Backstory (i.e. jake’s trip down memory lane, skip if this is tl;dr)
My background in 3D started way back in 3DSMax 2.5, downloaded on a 28.8Kbps modem from some random Russian FTP Warez site back in probably 1995, I think. I managed to get it installed on a Packard Bell Pentium 90 with something like 4MB RAM. That it ran at all was amazing to me, so the fact that it ran like ass didn’t bother me. I made a few little animations and stuff which blew my mind. I mean, I made a ball bouncing down the stairs. Animation, at least!
Anyhow, at some point, I attempted to swap over to Maya because I read that’s what ILM uses. Through similar vectors, I got my grubby paws on Maya…and quickly ran away in fear of its very austere and arcane user interface. It felt like comparing getting into a car’s driver seat (Max) vs. an airplane’s cockpit (Maya). Too…many…things…where…IS…everything?
I obviously wasn’t ready.
Eventually, I did some more learning in Maya…but largely abandoned it until I started the Computer Animation Degree program at Full Sail. There, I did lots of Maya work, modeling (my B+ in my modeling class forever crushing my dreams of having good edge flow or being a capable modeler – another backstory, another time) and rendering; shading and lighting; and obviously animating. I did manage to snag Course Director’s Awards for Character Animation 2, Shading & Lighting, and Visual Development, so I feel like I have a good feel for Maya.
One of the things we never worked on at Full Sail, to my amazement and chagrin was Dynamics. In their defense, we covered an awful lot otherwise. But still, it always felt like an oversight in the program, especially having had to waste my time and effort on a Public Speaking course…in an online program (don’t even get me started; yet another story for another time).
Finally, the point:
So, I wanted to run the same simulation in Maya but I wasn’t sure how.
I started by exporting the scene from Modo. I exported as Autodesk FBX and opened it but ran into all kinds of issues, since FBX brings over animation information and hierarchies (I tell myself this, it might not be the case). I ended up choosing to import the scene into Maya as an OBJ and I unticked the animation checkbox, which got me a huge scene full of poly objects. I did the usual scene cleanup, trying to get assets into groups and make the whole scene make sense.
Already, a few hours into it (yes, really, a few hours; don’t judge), it felt like I wasn’t going to be able to really compare apples to apples since the scene was taking so much setup. For instance, I decided that I wanted the wheels to spin as the car moved forward. Simple enough Animation task, to set a Driven Key on the Z direction and the wheel X rotation.
(Aside: For those that don’t know what that entails, you’re basically setting on attribute to a certain value (e.g. “keying”) and some other value to correlate to that same value, then changing each of them and setting another Key; the program can then interpolate between them. In this case, you set the Key for the “Z translate” at “0” and the X Rotation each wheel to “0”, since the Car was travelling along the Z Axis and the wheels were rotating accordingly, then move it a bit in “Z” and set the rotation to 360. After which, when you slide the car, the wheels turn, hey presto!)
The thing is, I also keyed the Z Translate of the tires too, forgetting that they’re already a child of the car and so ended up with them moving independently of the car.
We can pretty much put <insert a few hours of fuddling with animation stuff before ever addressing Dynamics>.
Eventually, I realized that I needed to just get started on the Dynamics sim, so I went to the FX menu in Maya 2016 Student Edition and figured that I’d just start setting things up as I’d done in Modo. Easy, right?
I wanted it to be. I hoped that it would be. But no, Maya stubbornly refused to be as quick and easy as Modo when it came to setting up the simulation. Everything ticked by slowly, each frame taking forever and each time the car got anywhere near the wall, it’d grind to a halt and I’d end up killing Maya, since the program was basically processor bound (on Mac: “ooh, look, a hypnotic beach ball!”).
Enter Stage Right: Google search. Might as well say <insert an hour of Googling and watching videos, scratching my head until a chance video finally mentioned…>
Okay, so I finally managed to find the love in Maya I was looking for, Bullet Physics (Or just “Bullet” in the Maya menus). I had to first get it to appear, so, under Preferences, Plug-ins… I loaded it up and, lo and behold, a new menu: Bullet.
The fun thing about it is that as soon as you create your first Active or Passive Rigid body (or Soft Body or Rag Doll, I suppose, I have yet to play with those), the Bullet Physics system automagically sets up the system’s Gravity and Drag and other real-world properties. Then, much like Modo, it was just a matter of saying “GO!” I will mention here that it was very helpful to go into the Animation Preferences and adjust the playback speed to real-time (24fps) so that things played back (mostly) in real-time, rather than trying to draw each frame properly, which was how I had things setup. Can’t remember why, I think it was for school.
So I could pretty much say <insert a couple of hours of adjusting settings, watching and laughing the joy of mayhem unfold>. Ah, satisfaction. But hey, why stop at one wall? I created dominoes, I altered masses and watched the car slam into an almost immovable wall. I adjusted the masses down and watched everything fly away. I spun the car on takeoff, I made it wait before starting its run. I adjusted settings so that the blocks wouldn’t shift (i.e. the “initially sleeping” setting) at the beginning of the simulation until the car hit them.
Then, I started making my own walls of objects and having all kinds of issues when I attempted to use duplicate on things that already had Bullet properties applied. I laughed as I applied Bullet to Groups and whole walls of single objects flew away en masse. I grumbled and troubleshot objects that couldn’t have Bullet applied to them (turn out, grouping can cause issues). I grumbled at a ramp that wouldn’t act like a ramp and would smash the car to a halt every time it and eventually got near it (eventually got the Passive Rigid Body working on it and reduced friction). Eventually, I had a working sim with several walls of “dominoes”, a ramp and the original wall of blocks. Hell, I even animated the wheels moving for good measure.
All this, when I could have been outside enjoying the last warm weather of the year? Bah. I’m a nerd, pasty is as pasty does.
Gentlefolks, start your Renders:
Which finally brought me to rendering. I setup, animated and played with a camera (this took a lot longer than I want to admit, since I’m pretty particular and wanted the Depth of Field to work properly) that I point constrained the “Aim” at the “Z” of the car, to more or less follow it forward, but move around a bit so that you could see the mayhem, then setup two basic materials in Maxwell Render.
I like Maxwell Render and have a non-Commercial License for it ( a recurring theme; look ma, no Piracy!). I like that there’s little fiddling with settings as far as samples go. You just set the time limit or the Shading Level. It’s ostensibly an arbitrary number, but you get a feel for it after using it enough…SL10 is a little “noisey” and SL15 is usually pretty good. More or less, I just wanted “good enough” so that I could look at my animation sooner, rather than rendering for 3 days only to find that it sucked. I set things up with a Physical Sky system and played with the angle to get some dramatics, then made adjustments to the camera’s Shutter, Aperture, and ISO on the fly in Maxwell until I got a shot that seemed exposed well enough.
Honestly, that last part is a whole post unto itself. One of the most amazing things about Maxwell is its ability to get immediate results not just with fiddling with materials and rendering settings ad nauseum, but with setting actual, real-world settings for a camera on the fly and watching how the scene comes out. It’s a cinch to then shoot it off to Batch Render, provided you have everything set properly, which I seldom do, admittedly. I’ll also say that it took me several projects, lots of swearing, and time before I felt comfortable with all of those settings, but, honestly, it was mainly having come from a background using Maya’s built-in Mental Ray renderer and fiddling endlessly with its arbitrary settings, like Samples. Ugh.
I rendered out two sequences, one that evening, one overnight and into the next day and they both looked pretty good. I ended up wishing that I had looked into removing the Depth of Field, but decided that I’d live with it.
The result of that render sequence is in the portfolio.
So, the next day, I decided that I’d put Maxwell up against Renderman.
To be fair here, I know approximately jack about Renderman, except for the fact that it’s both legendary and industry standard. Add those things to the fact that they also now offer a Non-Commercial Edition for learning…and well, I’m a happy nerd.
I tried to get my setup more or less the same, but it was actually pretty hard. Renderman has some basic materials and I started there, with their basic diffuse. I attempted to match up Roughness and Shininess from Maxwell with Diffuse & Specular in Renderman. I setup a Sunlight system and tried to get the angle the same by setting to the Heliodrome setting (sounds like a movie starring James Woods, I swear) and matching the Lat/Long I used and time of day, but man, it just wouldn’t get me a good image. I fiddled with the DoF settings (trying to keep a benchmark fair), but man, I didn’t know how to make this image work out. What’s a fella to do?
Eventually, I think I got things matched up pretty well & the result is portfolio.
But wait, there’s more!
Of course, as soon as I finished the render, Renderman came out with a new version of their non-commercial renderer. So, I went ahead and procured that and started messing with camera movement. It’s addictive, dynamics.
A nice finished render is over in the Portfolio, as well.
While I was at it, I decided to up the ante and start working in 3D. This should strike you as funny. It did me. What I should say more properly is that I decided to start working in stereoscopy. With that, I embarked on a hefty bunch of learning. I’ll spare you all of the gory details (tl; dr is my motif), but what I finally came up with is, in my opinion, really, really cool, an anaglyph render straight from Renderman to your eyeballs.
Bust out your anaglyph glasses and head over to the Portfolio to check it out.
Anyhow, that’s it for now. I’ll be attempting to move this project over to Unity and make it a playable VR level, which should be really amazing…once i figure out how to do more than just look around.
More to come!