DemoMaker: non interactive animations creation tool

Dear all

I just wanted to share a showcase of my tool (called “DemoMaker”, in reference to a very old tool that existed during the Amiga times) which can generate and package short non interactive animations.

This tool is an editor allowing someone to create an interactive animation without knowing anything in coding:

  • Import your assets
  • Place your objects (models - animated and/or with LoD, text, procedural models…) and assign to them a start time and a duration
  • Define your lights, cameras and fog
  • Put your music
  • Run it (and package it)

Its purpose is educational: for myself (learnt a lot) and for other people who may want to go deeper into the possibilities offered by Panda3D.

The tool is indeed based on P3D 1.10 and showcases some interesting features such as:

  • Panda3D-Kivy,
  • PBR/IBL,
  • Stacked post-processing effects,
  • PL shadows used with other light types shadows,
  • PSSM,
  • GPU particle system…

Some of these features were developped by community members such as cheaterman, flavio, eldee, moguri, epihaius, rdb and others…: thanks to all of you!

The code is not posted on github yet but it maybe in a near future (if there are interested people). The tool is far from being finished/polished/optimized/user friendly…so a lot of work would be needed to make it very usable.

Below are links to:

A video showing a brief overview of the tool itself:

A video showing an animation generated by it. Of course, absolute no offense is intended to other engines :slight_smile:

7 Likes

This looks like a pretty neat tool, and potentially something fun to play with! :slight_smile:

I’m reminded somewhat of an old animation-making tool/toy from back in the nineties (the name of which escapes me). Albeit that this looks more capable than I recall that being! :slight_smile:

Thanks for your kind feedback!

Yes, the basic concept (‘demo’) of this tool is completely inspired by the 90’s “Demo Maker” tool made by RSI:

classicamiga.com - Red Sector Demo Maker 1.0

There are other tools already existing, which are more suited to re-create “oldschool” demos.

I decided to make it a kind of (limited) showcase of P3D. There are still plenty of works to make it a real “production” tool such as speed optimization (good news is that I run it from a 10-year+ computer), size (limiting the size of the produced executable + assets)…

It’s my pleasure. :slight_smile:

I don’t think that that’s the one that I was thinking of–the one that I had in mind ran on Windows, as I recall, and would have come out later in the nineties, I think.

But that’s ultimately not important! It was just an old memory that was stirred up by this tool of yours. :slight_smile:

And in that, it’s not a bad idea indeed, I think! :slight_smile:

Nice work, albeit a bit preliminary I gather!

If you would, what kind of performance does the demo tool provide?

A small nitpick – kdenlive makes it quite easy to crop the video to the windowed region in the editor, so that your UI isn’t presented along with the window. Since you’re already using kdenlive, you may want try that out. :slight_smile:

It is cool that you seem to be using some more sophisticated rendering techniques like PSSM!

Thanks! and yes, despite a lot of time spent (!), it will still require works (and/or probably better skills than mine :-))

For performance, do you mean fps/frame time?

Yes, you are right. I am not very used to KDEnlive.

That was one way to learn (e.g. I’ve written my own shader generators) and setup “more advanced” functionalities.

For PSSM, all credits must go to eldee and tobspr:
Parallel Split Shadow Mapping using PSSMCameraRig - Code Snippets - Panda3D

1 Like

Generally I like to look at FPS and millisecond performance at a specific hardware spec to get a feeling for the effective performance.

When running the showcase demo (both versions: 1280x720, 2 lights with only 1 of these lights emitting shadow, 3 stacked post-processing effects):

  • from the editor: from 13ms/frame up to ~50ms/frame, depending on the timing (using panda3d-kivy and GLSL 3.1), somehow averaging at 24ms.
  • from the packaged version of the demo: from 1ms to 50ms, with GLSL 4.5 and multi-threaded pipeline activated, averaging at ~24ms as well.

Without post-processing, average is more at ~15ms.

So not an incredible performance (!). This can probably be explained by:

  • Low hardware specs used to run it (10-year+ old computer, see below)
  • Low level of optimizations (e.g. post-processing effects are consuming resources)

Hardware specs:

  • RAM: 8Gb / core I7 1.60 GHz
  • Graphics card: HD5870M - 1Gb
  • Win 10