Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

New bvh file conversion tool available

Dave Bellman
Registered User
Join date: 10 Oct 2006
Posts: 123
07-19-2007 05:48
yep, that's a good idea - thanks Vent
Wildthrust Mathilde
Registered User
Join date: 22 Nov 2006
Posts: 49
07-19-2007 06:53
Yup, looks like that did it, running the file in that directory. Been looking for a tool just like this :)

Thanks for all the work and the help.
Dave Bellman
Registered User
Join date: 10 Oct 2006
Posts: 123
07-19-2007 08:44
yw!
Carmen Gray
Registered User
Join date: 13 Oct 2006
Posts: 6
Bvh Files
07-21-2007 09:58
ty Dave Bellman for sharing your information, I am new to scripting and animation and trying to find out as much info as possible. Do you mind if I ask what these files are good for in sl, what they can be used to do in sl.
Dave Bellman
Registered User
Join date: 10 Oct 2006
Posts: 123
07-23-2007 13:04
Hi Carmen,

for a good place to start, see: /52/32/107495/1.html


; - Dave
Dave Bellman
Registered User
Join date: 10 Oct 2006
Posts: 123
bvhacker 1.3 released
12-11-2007 00:44
Hi Everyone,

I've been working on improving my SL animation pipeline again recently. As I've done so, I've updated bvhacker to include more functionality - so it's time for another release!

Here's the link:

http://davedub.co.uk/bvhacker/

And here's the list of new features:

* !Zero (not zero) button ensures joint rotations are large enough not to be ignored on upload - very very usefull!
* XYZ sliders provide finer control allowing for more precise postioning
* Resample function now resamples to 20fps and is more accurate
* Help files now web based only

It took me ages to find out the smallest rotation that you can put on a joint to make sure SL does not ignore it on upload - but it was worth the effort - no more worrying about SL missing any of my keyframes!

I also added a tutorial on preparing animations for Second Life. I do not present this as a definitive guide. With both the tutorial and the new release, I'd appreciate it if any comments, suggestions, queries, corrections or bug reports be posted in this forum.

Enjoy!

Dave
Daz Karas
Registered User
Join date: 14 Feb 2007
Posts: 53
12-11-2007 14:43
Dave,

Thank you very much for your efforts! I'm checking out the tutorials right now.
Bobbyb30 Zohari
SL Mentor Coach
Join date: 11 Nov 2006
Posts: 466
12-11-2007 15:04
From: Luth Brodie
um.. hopefully you aren't selling these IW as your own work. Not to mention violating IP rights of the origional creators.


Where has he even implied to do so?
_____________________
BETLOG Hax
Geek
Join date: 22 May 2007
Posts: 91
02-03-2008 04:45
Excellent work.


EDIT: Solved

PROBLEM WAS: error dialog
---------------------------
bvhacker
---------------------------
Problem with file
---------------------------
OK
---------------------------

SOLUTION:
An access violation - blender still had its hooks in it evidently. Close blender and bvh opens fine in Bvhacker. Not normal behaviour. Should only happen if you really tangle something up.
Faso Dawg
Registered User
Join date: 18 Feb 2008
Posts: 2
02-18-2008 07:27
Hi Dave,

I"m currently trying to upload my own mocap files (captured with Optitrack/Arena) for a university project to SL. Your tool looks very promising for this purpose. Unfortunately if the bvh file is opened, the animation seems to be a "wrong" interpretation of the file's data and looks absolutely different from what I originally captured.
My files have 24 joints and if I view them in another bvh viewer it looks like the captured movements...
I don't know much about bvh, so if you (or anybody else) have an idea how to solve my problem, I would be glad to hear from you.
One of the captured files can be found here:
http://www.cip.ifi.lmu.de/~schulzf/ar_karaoke/flo_jumpshot_with_abd.bvh
Dave Bellman
Registered User
Join date: 10 Oct 2006
Posts: 123
easily fixed
02-18-2008 09:06
Hi Faso,

I checked out your file and found the problem. bvhacker looks for single spaces in the file, but your data values are separated with either tabs or multiple spaces. Either way, just open the file in a text editer and replace the tabs/multiple spaces with a single space.

I did this using a global replace (ctrl-H, replace all) and the animation now looks right to me - let me know if you have any more problems.

Cheers,

Dave
Faso Dawg
Registered User
Join date: 18 Feb 2008
Posts: 2
Awesome!
02-18-2008 15:24
Hey Dave,
Thanks for the quick reply! Now everything works perfectly.
Thank you for your help.
Cheers,
Flo
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
03-13-2008 15:26
Way cool, Dave -- looking forward to playing with this.

Also, I'm happy to hear you're distributing free animations. I have a free project that I need a bunch of free animations for, and I'll be checking yours out. I made a couple of my own that I'd be happy to contribute to your lot, if you're interested.

Why 20 FPS? Is that what SL runs at? And here all the time I thought it was 30 -- not that it matters for what I do & have done.

Finally, the big item. I find that anims I make tend to be a bit robotic. What I'd really like to do is lowpass-filter each joint coordinate in the timeline. I'd be happy to write the code! Is there a way I can write a plugin, or give you some source, or *something*, to fit this into your program?

Ideally, we should be able to lowpass-filter any joint (or any parameter of any joint, if we wanted, but I think that's overkill) independently, as well as do them all in one batch. The filter constant would be user settable (more filtering -> smoother motion).

I still need to figure out the best way to filter anims that will be looped: a normal lowpass filter wouldn't necessarily leave the last rame matching the first one closely enough, but I can think of hacks that would work until I find the best way.

So, the user would select which joints to filter, specify a filter constant, and whether it's for a looped anim or not. The rest is relatively simple math.

Interested? It sure would improve my first and so far only non-static anim!

Thanks
Jeff
Learjeff Innis
musician & coder
Join date: 27 Nov 2006
Posts: 817
03-13-2008 15:59
O.
M.
G.

Just looked at the .bvh file, should have done that first. I'll just write the filter thing as a simple Python script, no need to hook into your tool. I'll let you know when I'm done, and maybe someone with the ability & inclination can turn it into a real program.

Lear Cale grins
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
03-13-2008 20:11
Just looked at the .bvh file, should have done that first.

I wrote a Python prototype, which assumes the whole anim is looped and filters all joints. Please check it out, and consider building it into your nifty little tool! Someday maybe I'll learn to do GUI programming. :-/

/52/3b/246598/1.html#post1906576
Dave Bellman
Registered User
Join date: 10 Oct 2006
Posts: 123
Excellent idea!
03-16-2008 07:49
Hi Jeff,

I really like your thinking on this - LP filtering is something I'd considered myself for future releases - that is if and when I ever got the time!

With regards the re-matching of first and last frames in the case of a looped animation, the problem already has a solution. The 'Knit' button on bvhacker would solve this for you. It is a bit of a hack, but yields good results. Have a play with it and you'll see how the interpolation works. Tip - it's usually a good idea to remove the very last frame after a 'Knit' operation, as my algorithm often leaves the first and last frames identical.

What may need tweaking is the number of frames from the begining and end that are affected by the operation. If after experimentation with your Python script you find you would like to adjust this, please let me know and I'll compile up a new version of bvhacker with the required adjustment. Unlike actually incorporating the LP filtering funtionality into my app, this would be a quick and easy thing for me to do.

FPS: I chose 20fps for the resample button because that usually works best with mocap data, although I'll often go much lower (12 - 15) to keep asset size down and therefore rez times down. However, the resample algorithm uses only linear interpolation, and so is far from ideal - use sparingly! Of course, an LP filter with the right cut off frequency would help smooth out the resulting kinks in the curves...
Due to the way SL parses and stores bvh files, 30 fps is simply not necessary - most of the time you'll not see any visible difference between an animation uploaded at 15 fps and one at 30. The only exception to this seems to be for very short walk loops, where it's often necessary to up the fps to get a really smooth transition.

Keep up the good work!

- Dave
Tharkis Olafson
I like cheese
Join date: 17 Nov 2004
Posts: 134
03-16-2008 15:34
This would be a great program. Unfortunately, I can't keep it open for more than 30 seconds at a time. It crashes for no apparent reason, no matter if it has a bvh loaded or not.
Dave Bellman
Registered User
Join date: 10 Oct 2006
Posts: 123
03-16-2008 15:59
Hi Tharkis,

That's a new one on me!

It sounds very much like an OpenGL or hardware problem - have you tried updating your graphics card drivers?

- Dave


_______________________________________________________________

Animazoo animations - The best dances in SL - Smooth AOs - Freebies
.
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
03-16-2008 19:01
Thanks for your feedback, Dave. Actually, I found a trivial and ideal solution for the loop point problem, assuming the whole anim is looped (and it's already well-knit). The program replicates the data one or more times, but only keeps the output of the filter for the last copy of the data. With the help of a little math I got from wikipedia the program estimates how many copies of the data it needs (more filtering = more copies).

After fiddling a bit, I find that (a) it really helps my rather jerky and robotic anims, and (b) it has disadvantages, such as body parts not ending up quite where you want them due to filtering of a higher level joint. So, it's better to make a smooth anim to begin with, but a little filtering goes a long way to making them less robotic.

For folks making those sets of anims with basically the same motion but different levels of ... activity, they could start out just making the most emphatic version, and filter to make successively milder versions, viola.

I haven't yet solved the problem for the case where the whole animation isn't looped.
Dave Bellman
Registered User
Join date: 10 Oct 2006
Posts: 123
03-21-2008 23:38
Hi Lear,

I have to say I'm not quite clear on what you are doing there, but if it's yeilding good results, I'd be interested to find out more.

_______________________________________________________________

---:: Animazoo animations - The best dances in SL - Smooth AOs - Freebies ::---
.
Dave Bellman
Registered User
Join date: 10 Oct 2006
Posts: 123
support transcript
03-21-2008 23:48
I've been answering support questions IW. I thought I'd post it here in case it's of benefit to others:


Anon: hey i cant wait to try your bvhacker..are u going to make it for VISTA crosses fingers

Dave Bellman: Hi ..., I am sorry to say that there is not a snowball's chance in hell that I will be putting Vista anywhere near my pc unless Microsoft leave me no choice whatsoever! My advice to you is to get a copy of XP - it's faster and far less buggy

Anon: giggles .. Tanks for your honesty... i am using your BVHACKER on my laptop instead...

Anon: if you have time i have a question. I am trying to convert a walk.. i have it walking in one spot.. but when i was wondering how to slow down the stride.. seem. when AVi is walk they glide

Dave Bellman: np - you can increase the frame time, that will slow it down

Anon: okay great thanks

Dave Bellman: yw!


_______________________________________________________________

---:: Animazoo animations - The best dances in SL - Smooth AOs - Freebies ::---
.
BETLOG Hax
Geek
Join date: 22 May 2007
Posts: 91
03-22-2008 00:56
BVHacker works just as well under Vista Home Premium as it did under XP Pro in my experience.
.. Mind you I have zero actual problems with Vista x64 in general..on a new PC.
Dave Bellman
Registered User
Join date: 10 Oct 2006
Posts: 123
03-22-2008 01:06
Hi Betlog,

That's really useful to know, tyvm.

_______________________________________________________________

---:: Animazoo animations - The best dances in SL - Smooth AOs - Freebies ::---
.
_______________________________________________________________
Whichway Janus
Registered User
Join date: 5 Apr 2007
Posts: 12
OpenSource bvhacker?
04-07-2008 10:23
David,

Any chance you will release the source to bvhacker? Aside from it being a nice thing for the rest of us, it would help me try to find out why it crashes everytime while removing joints from some BVH files I bought from The Forge. Thanks.


Whichway
Whichway Janus
Registered User
Join date: 5 Apr 2007
Posts: 12
Gratuitous request
04-07-2008 14:23
Since I have no idea how hard it would be...

Maybe add text entry boxes for the values set by the sliders? I'm trying to copy over some End Sites from the standard SL_Male and it would be nice to have a copy-and-paste way to do that. Thanks.
1 2 3 4 5