I have a character that Im animating. He needs to be able to run, attack, jump, etc
My question is: how do I make it so that the attack animation can play while the running animation is also playing. Same thing with attacking and jumping.
Is it easier to just make separate animations of the character attacking and running?
I read this and it looks like I need “half body animation”, but I have not been able to find any info.
Thanks in advance
You might want to try multipart actors:
Using multipart actors you can let the legs run while the body attacks or so.
An even better solution would be subpart actors, which is unfortunately not documented in the manual yet, but see the generated API docs: http://panda3d.org/apiref.php?page=Actor#makeSubpart
Thank you both of you
I have a new problem
Im trying to list the joints of a model
that gives me this error
File “debtmp/usr/share/panda3d/direct/src/directnotify/Notifier.py”, line 122, in error
StandardError: no lod named: lodRoot
Any ideas? I dont even know what lod is unless it means Level of Detail but then Im still lost
The Actor class has a concept of multiple levels of detail. Each LOD has a unique name. When you don’t use LOD’s, it assigns a default name to the overall model, which is “lodRoot”. So normally, every Actor has either several named LOD’s, or one model called “lodRoot”.
Since your Actor doesn’t appear to have a model called “lodRoot”, you must have accidentally enabled LOD’s, maybe with one of your parameters to the Actor constructor, or to some other Actor method.
I dont think so. I made a program just for listing the joints:
class Character(DirectObject): def __init__(self): self.person = Actor('Model2.egg') print Actor.listJoints(self.person) self.person.reparentTo(render) c = Character() run()
Actually I just realized something. Could it be because the model Im using is not actually a character? Sorry I should have posted this before:
Actor(warning): Model2.egg is not a character!
Oh, yeah. That would certainly cause problems. Actor doesn’t work at all unless you give it a character.
I think you should use loader.loadModel(“Model2.egg”) instead of Actor(‘Model2.egg’) .