Project Feasibility regarding Screenshots, Animations, Web

Hello everyone. It’s been quite some time since I’ve posted on this forum, apologies for that.

I’ve started work on a new project with Panda3D, something a bit simpler than a complete game this time, and I need some advice on the projects feasibility. The basic idea is to allow a user to navigate to a webpage, in which there will be an integrated panda3d application. Using that application they will be able to alter a model of a character using vertex morph “static” animations (an animation with 100 frames that flow from small ears to big ears, according to user input the animation is set to a specific frame and left there) and ultimately save an image of that character.

For this project to work as intended, two things must be possible. I need to be able to have a very large number of animations active, though not actually playing, on a single model. In upwards of 100 animations or more, again not playing, but set to individual frames with only one animation changing its frame at a given time. Secondly, the user has to be able to get an image file from the application onto their computer, even though the application would be built into a webpage.

So, my questions are:
Can I use such a large number of animations on one actor, with them set to single frames?
Will the Panda3D runtime, running an application on the web, be able to save an image file to the user’s computer?

I don’t have direct answers to either of your questions, but with regards to the former (the matter of morphing the model), have you considered using a large set of specialised bones associated with the head, then controlled individually via “controlJoint”?

(For example, you might have two bones associated with the right ear, one of which can be rotated to make the ear stick out or lie flat, and the extended or retracted tomake the lobe larger or smaller. Adjusting whatever UI control you have associated with that ear might then call a method that adjusts the relevant properties of those two bones.)

The level of detail necessary for the project would make using bones for everything unrealistic, imagine trying to control the shape and length of eye lashes with bones. I am, certainly, going to use bones for posing and for certain scaling options, like arm length, but it simply isn’t feasible to use bones for everything.

Maybe using vertex animation (blend shapes, morph targets - call it what you will) would be a better solution?

Running from the web-plugin, you should be able to write to the ‘start’ directory ( … _directory), but I’m not sure if you can write to anywhere else… still you have all the power of Python under the hood, so you could send the image to a image-hosting site (or your own server?) that would return a url, then use JavaScript to display that image on the same page that host your p3d file… in theory, don’t ask me how, just thinking aloud :mrgreen:

That should be good enough for my intentions. I can include instructions on how to find the images on the web page if necessary. That’s good news.

In regards to using bones for all the “animations”, it’s beginning to look as though I may need to change the scope of the project to make that possible. I’m trying to use Yabee to export a test version of my model, with 62 shape keys, from blender to egg and with only that many it’s hanging for 15+ minutes.

Alright, I let Yabee take it’s time and after a while it finished the export, so it looks like I can go ahead with morph target animations.