controlJoint should have a parameter for not overriding/copying over transform, but simply shifting it relatively each frame

Bug #1349171 reported by ellie
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Panda3D
Won't Fix
Wishlist
Unassigned

Bug Description

I want to rotate a bone relative to its regular animation, not replacing the animation entirely.

Right now, the only way to move a joint relatively with procedural code from its current animation-induced transform each frame appears to be to make a parent joint which isn't animated, and fiddle around with that one using controlJoint (so the actual joint can still keep the animation affecting it).

However, that requires fiddling in the 3d model (either in the modeller pre-export or code-wise) and it's not trivial to pull off for beginners.

Therefore, controlJoint should have a parameter that will optionally give me a node which doesn't copy its transform over the bone and disables its natural animation as the manual currently states it does, but instead will leave the bone animated and only add the transform relatively to the animation-induced one each frame.

Tags: animation
Revision history for this message
ellie (et1234567) wrote :

Also yes, this seems a less common thing to do, but let me point out where this thing might be kind of vital:
* Adding random noise on top of animations (e.g. idle animation) for increased realism
* Modifying feet position during walk and stand animations without screwing over the whole animation to meet the ground properly for increased realism
* Rotating the head bone for looking around relatively in a limited cone, while respecting the original base rotation which might be very important if it is unusual (e.g. during rolling over on the floor - head would be looking backwards or in other entire different directions as per the animation and you don't want to stupidly copy forward looking over that)

Yes, it is not necessary for ragdoll. But for all those other sort of things, this seems very useful and currently it seems to be much harder to pull off than it should be.

Revision history for this message
rdb (rdb) wrote :

If we were to add such a flag, would you want your custom node's transformation be applied *before* or *after* the joint's actual transformation?

Revision history for this message
ellie (et1234567) wrote :

First, the animation transform should be calculated as usual, then the relative controlJoint transform should be added on top. (Or at least that would be my suggestion on how to do it, I'm open for other ideas)

Moguri (mogurijin)
tags: added: animation
Revision history for this message
rdb (rdb) wrote :

This is a niche request that probably won't be implemented unless someone volunteers to implement it. For now, I'm closing it.

Changed in panda3d:
importance: Undecided → Wishlist
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.