Which way of using Panda3D to play cut-scenes is better?

Hello there. I’m just a beginner, as far as using Panda3D is concerned.
I’d like to know just one thing… I have to make some cut-scenes (events/animations - without interaction). I’m gonna use Blender to create models, animate them etc. Which way of using panda to render it is better, export all the objects and start programming every move etc. or should I export the whole animation with all details (environment, characters etc.) to the egg file and with Panda3D just start the show with a few lines of code?

I’d say it depends on the precise needs of your application. But since Blender’s animation tools are probably superior to Panda’s, unless you have any need to make dynamic adjustments to your cutscene at run time, it’s probably easier to animate the whole thing in Blender and just play it back in Panda.


Thanks, I’ve got just one more question. Is there any easy way of exporting camera movement and rotation? For example in blender at timeline I’m setting keyframes for camera location and rotation and I’d like to export it.

I’m using Egg R85 and Panda 1.7.

Maybe is there any way to put armature for camera, and force camera to rotate and move as the bone moves (BTW. I don’t know how to do it in blender too :wink: ).

Tanks for any replies.

You can create a curve in Blender and use that as motion path in Panda3D.

Wow, what a coincidence.
Here is an example of using nurbs curves from Blender for camera animation:
The lookAt method here tells the camera to look at the (center of) the model.
You can export empties and tell camera to look at them instead, so the camera can focus at just about anywhere.
You might also be able to move an empty with another curve and tell the camera to kook at that as well.

You’re great :slight_smile: Thank you very much.

Just for completeness - your original idea of linking an armature to a camera would also work. Potentially gives you more control, but is a lot more complicated. I’ld stick to motion paths if you can, and switch to armatures only if they can’t do the shots you want.

Oh forgot to say: as lethe mentioned the Chicken exporter for some reason adds a number to your curve. Most likely it will be ‘0’. So to find a curve named ‘a’ from an egg file in Panda, youll need to search for ‘a0’ instead. If that doesn’t work, open the egg file in a text editor and search for your curves name - see what number has been added. For all my curves it was ‘0’…
Weird, I know. Lethe said it might be fixed in the future releases.

OK, this is kinda weird, but looks like just adding more curves OR/AND empties screws up the animation.
Here is the old project archive: youshare.com/Guest/5376d3a5ea7b64d9.zip.html

An here is one with modified blend and egg that contain other curves and empties: youshare.com/Guest/6cf252f49fbc3897.zip.html

The interval just doesn’t play right.
Any ideas??

Ok - just had a look at the above. Now, the short of it is I don’t see this bug - if I export your second version it exports correctly when the version you provided for some reason has a transform in it, which shouldn’t be there and is causing the issue. However, your using an older version of Chicken to me - I know this because at first it crashed for me due to an esoteric conflict between the curves system and the shape key support that is in the most recent release, so its quite possible that whatever was causing this issue has been fixed.

I’ve checked in a version where the bug has been fixed; I also ‘fixed’ the digit after the name thing (Well, actually that digit is required as there can be multiple curves within a single object in Blender, but not in Panda - I just changed it to only use digits if there is more than one curve within a single object. All your objects are single curve, so you now won’t get the ‘0’.)

Can’t really be bothered to declare war on the sourceforge release system and force it, at catapult point, to do a release right now, so you can download a newer version from http://thaines.net/content/panda3d/chicken_exportR88.zip Try it with that - hopefully that will fix your issues!

Wow, I spend so much time trying different blends when all I had to do was to update the Exporter :unamused:

So before R88 the ‘bug’ is present?

Great :slight_smile:

It does! Thanks
PS. Shape keys? The ones for facial animations?

Well, the bug you were encountering exists in some version before R85, that was fixed by the time you reach R85, but R85 introduces a new bug, hence why I did an (unofficial) R88 so there is defiantly a version with both bugs fixed. And yes, R85 introduced shape key support, which you can use for facial animation.

I had been thinking about adding cutscene system for my game and thought how would it be best to do.

As this is thread starter had given the same question, i thought id post this here.

In games, in cutscenes which are not interactive, you usually have:
loading models
animating them
animating the camera
fading from one place to another, or fading to and from a solid color
loading and playing/looping audio

And each of these things happen and end in a specified time.

So a cutscene in Panda can be done with a single python file, which loads stuff and runs stuff in a sequence (which consists of many parallels) as (function)intervals.

I kinda remembered the Video Sequence Editor of Blender and the song editors of programs like Fruity loops.

Panda sequences could be represented in such a way, each parallel as a single line.
I tried searching if theres a similar program for other engines but found none. I think if there was something like this that exports a python source it would really help in making cutscenes and it could also have a small preview window to show the results immediately. What do you think? Am I missing something here? i thought of doing something like this for my own game.

PS. The curves arent fixed yet?

If the whole thing is not going to be interactive, then I’d parent the camera to an empty (or a tiny object) in blender, animate that object only (not the camera directly) and export the whole thing animated. afterwards you can recreate that parent-child connection in panda.

This is a workaround I use in all exported camera animations.