PDA

View Full Version : Camera baking



Boris Goreta
05-19-2013, 12:59 PM
I can't bake this camera, it is parented to several nulls, I have tried everything.

1. motion baker does not bake rotation values, only translation, I bake channels to additional channels and then copy them to real channels but rotational values come out all 0, translaiton valuse are correct
2. plugin "output to world coords" at first seems to work alright but it hase micro errors in bank rotation channels so I can't use this
3. I tried using parenter motion modifier plus motion baker but it also doesn't work
4. all other scripts online I have found don't work

this is so complicated for me, there isn't an easy solution as I see it
how hard can this be ? the camera object displayed in viewport has world coordinates calculated already in order for OpenGL to display the camera icon, why is it so hard to get these coordinates ?

Boris Goreta
05-19-2013, 01:44 PM
Here is the more simplified version of the scene, now the camera is parented only to one Null but still I don't know how to bake rotational values.

stiff paper
05-19-2013, 03:30 PM
Hi Boris, I've no idea if this is good enough. It's just what I could think of.

I made a flat plane, parented it to the camera, added a null, put the Anchor motion modifier on it, then baked that. It... seems to bake the rotation values only. I do not know why.
114424
114423

stiff paper
05-19-2013, 03:42 PM
Aha! MentalFish's Keyframe Tools will bake the motion and the rotation. I just don't know how reliable using Anchor is, or even whether I managed to put the null exactly in the centre of the plane's UV...

Edit:
If it isn't exactly right then it's so close I can't see any difference:
114425
(Rename the .txt back to .mot. Apparently we can't attach .mot files. Which seems... well... never mind.)

Cageman
05-19-2013, 04:24 PM
I've done tons of very intricate camerarigs where the actual camera is deep within a hierarchy of nulls.

The way I do it are simply this:

1) Clone the camera that you have deep down that hierarchy of nulls. Move it out so it ends up in worldspace.
2) Select the new worldspace camera and use the Same as Item constraints (motion options) for both Position and Rotation. Make sure to enable Worldspace. Use the camera parented to all the nulls as the Position and Rotation item.
3) Use MF or RH tools to bake the WS camera down to keyframes. Disable the constraints in Motion Options.
4) Done!

Since we were constantly updating cameras, what we did was to save out .mot files from the WS baked cameras, and then we referenced these into the actual setupscenes (where all the placement of extra detail for models, characters, lights, shading etc took place), using a node in DPKit called Time Lag (it has a feature that allows you to select a .mot file). These setupscenes were then broken out with Janus into the actual renderscenes.

Now the cool thing; If we changed the camera, we simply did the 3 steps described above, saved out a motionfile... and viola... ALL the production scenes, as well as renderscenes were updated. So, if there was just a camera-change, we never had to go through Janus to re-break out the renderscenes. We simply just went into Muster and re-inited the renderscenes.

Referencing does save a shitload of time.

:)

Boris Goreta
05-19-2013, 04:36 PM
Thanks a lot to everybody but in the meantime I found a very simple solution. There is a command called BakeMotion . I searched for Bake in Lightwave plugins/commands and found that, it works perfectly. I just run it on camera and then unparent camera and it follows perfectly. I didn't even know this existed. I am pretty sure this is a native command with 11.5. ( probably earlier versions have it too, I don't know ). This seems to be the most elegant solution. Just run the command and that's it.

stiff paper
05-19-2013, 05:04 PM
The way I do it are simply this: (...snip...)
Heh. I did try that, but the MF motion baker bombs out partway through, repeatedly. However, I'd forgotten about the new RH motion baker. I just tried it and that one works great, so thanks for the reminder. My menus are now updated. Also, yes, we could really use a robust referencing system. I wonder if they have plans for one?

Boris, your solution seems easiest. You didn't need our help after all... grumble, grumble...

Greenlaw
05-19-2013, 05:15 PM
Good find Boris!

At the Box we had a tool called Mo Better Baker which was designed for this situation. Unfortunately, I don't have a copy of that plug-in, and I was wondering what the best approach would be for baking cameras with complex rigs myself. (We had a great camera synchronization tool too but, alas, it's now gone.)

Some methods that worked for me in the past:

1. Worley's Parent plug-in can bake items to world space. You need to unparent after baking of course. (Auto-unparenting was one of the nice features in Mo Better Baker by the way.)

2. Parent a null to the camera and then use HardFX scan and bake the null to World Space. I've used this method to create a tracked null from a selected vertex on an object for fake vertex 'parenting'--the result is a world space null that has both translation and rotation data, to which you can parent anything. Note that I actually haven't tried this with a generic null--I've only used this method with a selected object vertex--but I think it will work with a null.

(Come to think of it, you might be able to do an MDD scan of the parented null. I don't know if this includes rotation though. Probably not.)

3. And, of course, there's the Mental Fish tool.

I'll give the tool you mentioned a try--it sounds much simpler than the above methods.

G.

Greenlaw
05-19-2013, 05:29 PM
Just tried Bake Motion--it works great!

Last week I wanted to do something like this to bake a LightWave camera for Vue Infinite. As it turned out, VueSynch works really well without baking the camera. (I think it does its own internal baking for Vue.) Tip: If you use VueSynch, you need to adjust the scale of the LightWave camera in Vue from 50x to 1x in the camera panel. This is a long standing Vue bug, but once adjusted, the camera match is very accurate.

For other applications (Maya, Fusion, etc.,) use FBX. The exporter has an option to bake the camera data for perfect camera matching in other programs.

G.

Greenlaw
11-16-2018, 04:37 PM
This is a really old thread but it came in handy today. It took me a while to track it down so I'm bumping it.

I had a camera that had a complex hierarchy and constraints, and the rig was following a Spline Control path that was also animated. The scene rendered fine locally but for some reason, the camera would randomly flip over when I rendered the scene on our farm at work. So I decided to bake the camera before resubmitting, and that did the trick.

I needed to use native only tools, and I tried a couple of the different methods here, (including my own suggestion.) Cageman's suggestion worked the best. Easy to set up, plus I got keep the original camera setup in the scene in case I need to change it, and it uses all native tools.

Thanks, to everybody who posted here. :)