Thorgrim opened this issue on May 20, 2003 ยท 11 posts
Thorgrim posted Tue, 20 May 2003 at 8:48 AM
Attached Link: http://www.renderosity.com/messages.ez?ForumID=12390&Form.ShowMessage=1248398
I modified the default script to only use drop to floor for the first frame, recording the change in the Hip's YTrans. For the rest of the frames I adjust the hips YTran by this amount. With this method I can maintain a figure jumping off the ground. The other method drops the figure destroying the jump. I have tested it on a few BVH files with jumping in them and it appears to work pretty good.ockham posted Tue, 20 May 2003 at 9:39 AM
Ah! Very clever. Find the delta, use the delta !
Nance posted Tue, 20 May 2003 at 9:44 AM
Tried Body Y-Trans in first frame?
Thorgrim posted Tue, 20 May 2003 at 10:01 AM
I was going to use the "Body" instead of the "Hip" but I noticed when I did it by hand that after a drop to floor the Body Y Trans didn't change. So I went with the Hip which I could see change on the property page. Thanks ockham, this was by first attempt at using Python.
Nance posted Tue, 20 May 2003 at 11:09 AM
Most BVH do not incude a value for Body, so adjusting the Body y-Trans once, manually, in the first frame will relocate the figure in all subsequent frames. Can't automate that, but does require just a single tweak and avoids messing with any Hip values. (but congrats in dabbling with Python -- never tried it)
Thorgrim posted Tue, 20 May 2003 at 11:57 AM
Oh I see, thats even better than the script because you may not always want the motion to happen on the floor. Like in the case of a cat walk or even a hill. Thanks for the tip, you've probably saved me a great deal of time. When I actually start using these motions in my animation I'm sure that there will be many times that the animation will not take place at Poser's Floor level.
Zenman53186 posted Tue, 20 May 2003 at 1:32 PM
This is a good approach, but not a solution to all "floating" problems. Most of the BVH files I've used are not consistent in the hip Y-value even when there is supposed to be floor contact. So even if I modify the BODY Y-value in the first frame, it doesn't solve the problem. What would be really useful is the ability to define which frames need to be adjusted (i.e. 10-40, 67-110) and then a calculation for the inbetween frames (where the figure is off of the floor) to adjust those Y-values by the Y-value of the frame just prior and just after the inbetween frames. I know, I know, lots of work, but would definitely make getting my figure on the floor much easier!
Thorgrim posted Wed, 21 May 2003 at 12:36 PM
What kind of calculation? Would it gradually in increase or decrease based on the difference between two frames before the in between frames untill it reached the mid point and then gradually increase or decrease to meet the frames after the in between frames based on the change in the two frames following the in between frames. (Boy that was a mouthfull). Also would this be based on the hip or the body?
Zenman53186 posted Wed, 21 May 2003 at 2:00 PM
Yes, essentially that's what I'm thinking. It could be either hip or body, but should be consistent (i.e. always one or the other).
Nance posted Wed, 21 May 2003 at 4:00 PM
Don't think it would be that simple (not that that sounded simple) but would you not have to compare the distance from the Hip to the lowest extremity, with the distance from the Hip to the Ground? Otherwise, for example, wouldn't a figure doing a deep knee bend still end up lifting its legs off the ground?
Thorgrim posted Fri, 23 May 2003 at 1:08 AM
When I get some time I'll play around with it and see if I can make something like this work in python. I'm not new to programming but I am new to python. I think from looking at the methods available finding out the lowest point of an extremity might be quite a chore though. Anyway If I come up with anything usefull I'll post it so everyone can use it.