How to import a BVH pose?

Jocks3D

Active member
Messages
417
Reactions
110
Points
43
Patreon
callanscott
I've created some poses and exported them as BVH files but now I don't know how or if I can import one into VaM and apply it to a Look. I thought I might be able to use the BVH Player script but that appears to only work for animations, not a single frame file of a pose.

Any suggestions? I have a bunch of BVH poses and can make many more to upload here and share if there is a way to use them.
 
maybe enabling Skip T-pose in BVH Player will get them going

if not, attach a pose as an example and i'll take a look. it might be the case that if it's only 1 frame it doesn't work with bvhplayer and you might need a script to alter the .bvhs to repeat that frame a few times so that it gets processed
 
maybe enabling Skip T-pose in BVH Player will get them going

if not, attach a pose as an example and i'll take a look.

Yeah, I tried the Skip T-Pose option and that didn't do anything. Also, I can't attach a pose because I haven't been able to create one. I guess I should have described my workflow:

1. Downloaded some full body anatomy model pics from www.fineart.sk
2. Used the Deep Motion online tool to import the 2D model pose photo and turn it into a 3D figure. Deep Motion gives you 30 free seconds a month which can be used for motion capture of 2D to 3D video but you can also use one second/credit per month to do a 2D to 3D photo conversion, so you can do 30 per month for free.
3. Exported the 3D figure as a .bvh file.
4. Opened up VaM, loaded a scene with a model, applied the BVH Player plugin to the model, added the .bvh file, hit play and nothing happens.
5. If this did work my intention was to save the pose within VaM so then I could apply it to other models and share here in the hub.

Hope that makes sense!

By the way, I also created a 2D video to 3D figure mocap animation in a similar program to Deep Motion called Plask.ai, then exported this as a .bvh and it wouldn't play either with BVH Player in Vam. This makes me wonder if there is another step involved in making a .bvh file for it to play properly. I've downloaded other .bvh files that play fine in BVH Player so it seems like I may be missing one or more steps.
 
Yeah, I tried the Skip T-Pose option and that didn't do anything. Also, I can't attach a pose because I haven't been able to create one. I guess I should have described my workflow:

1. Downloaded some full body anatomy model pics from www.fineart.sk
2. Used the Deep Motion online tool to import the 2D model pose photo and turn it into a 3D figure. Deep Motion gives you 30 free seconds a month which can be used for motion capture of 2D to 3D video but you can also use one second/credit per month to do a 2D to 3D photo conversion, so you can do 30 per month for free.
3. Exported the 3D figure as a .bvh file.
4. Opened up VaM, loaded a scene with a model, applied the BVH Player plugin to the model, added the .bvh file, hit play and nothing happens.
5. If this did work my intention was to save the pose within VaM so then I could apply it to other models and share here in the hub.

Hope that makes sense!

By the way, I also created a 2D video to 3D figure mocap animation in a similar program to Deep Motion called Plask.ai, then exported this as a .bvh and it wouldn't play either with BVH Player in Vam. This makes me wonder if there is another step involved in making a .bvh file for it to play properly. I've downloaded other .bvh files that play fine in BVH Player so it seems like I may be missing one or more steps.
Hi, this is because the joint names in the bvh are different then what VAM expects. I have the same issue. I also messed with DeepMotion. I'm looking into it right now and looking for a way to convert.

Ok, so I solved the issue. The joint have different names. Here is a list of the converted names:

hips_JNT = hip
spine_JNT = abdomen
spine1_JNT = DOESN'T EXIST. You can detelete or merge it with bvhacker or probably leave as is.
spin2_JNT = chest
neck_JNT = neck
l_shoulder_JNT = lCollar
l_arm_JNT = lShldr
l_forearm_JNT = lForeArm
l_hand_JNT = lHand
r_shoulder_JNT = rCollar
etc
head_JNT = head
l_upleg_JNT = lThigh
l_leg_JNT = lShin
l_foot_JNT = lFoot

So you can either open the bvh in a text editor and rename the joints to the list above, or you can download this tool: https://github.com/DaveDubUK/bvhacker to do that. But it still requires manual renaming of the joint. But the app does show you the bvh animation and what it's supposed to look like.

If there is a lot of interest in doing these conversions, I can write a simple python script to do this, but I'm probably not continuing the DeepMotion way, because their pricing is a bit on the high side, and I'm not particularly impressed with the animation output.
 
Last edited:
Hi, this is because the joint names in the bvh are different then what VAM expects. I have the same issue. I also messed with DeepMotion. I'm looking into it right now and looking for a way to convert.

Ok, so I solved the issue. The joint have different names. Here is a list of the converted names:

hips_JNT = hip
spine_JNT = abdomen
spine1_JNT = DOESN'T EXIST. You can detelete or merge it with bvhacker or probably leave as is.
spin2_JNT = chest
neck_JNT = neck
l_shoulder_JNT = lCollar
l_arm_JNT = lShldr
l_forearm_JNT = lForeArm
l_hand_JNT = lHand
r_shoulder_JNT = rCollar
etc
head_JNT = head
l_upleg_JNT = lThigh
l_leg_JNT = lShin
l_foot_JNT = lFoot

So you can either open the bvh in a text editor and rename the joints to the list above, or you can download this tool: https://github.com/DaveDubUK/bvhacker to do that. But it still requires manual renaming of the joint. But the app does show you the bvh animation and what it's supposed to look like.

If there is a lot of interest in doing these conversions, I can write a simple python script to do this, but I'm probably not continuing the DeepMotion way, because their pricing is a bit on the high side, and I'm not particularly impressed with the animation output.

Interesting, I always assumed that simply renaming the bones would not be enough, good to know! (y)
 
Hi, this is because the joint names in the bvh are different then what VAM expects. I have the same issue. I also messed with DeepMotion. I'm looking into it right now and looking for a way to convert.

Ok, so I solved the issue. The joint have different names. Here is a list of the converted names:

hips_JNT = hip
spine_JNT = abdomen
spine1_JNT = DOESN'T EXIST. You can detelete or merge it with bvhacker or probably leave as is.
spin2_JNT = chest
neck_JNT = neck
l_shoulder_JNT = lCollar
l_arm_JNT = lShldr
l_forearm_JNT = lForeArm
l_hand_JNT = lHand
r_shoulder_JNT = rCollar
etc
head_JNT = head
l_upleg_JNT = lThigh
l_leg_JNT = lShin
l_foot_JNT = lFoot

So you can either open the bvh in a text editor and rename the joints to the list above, or you can download this tool: https://github.com/DaveDubUK/bvhacker to do that. But it still requires manual renaming of the joint. But the app does show you the bvh animation and what it's supposed to look like.

If there is a lot of interest in doing these conversions, I can write a simple python script to do this, but I'm probably not continuing the DeepMotion way, because their pricing is a bit on the high side, and I'm not particularly impressed with the animation output.
@cs2022 A bit late, but this might help...
 
First, big thanks to @Jocks3D and @pinosante because this thread was originally what set me on the right path to exploring this function in VAM.

With that said, the best way to do this is to use an animation service that supports the Genesis 2 model from Daz3d, natively. For example, in deepmotion you can upload a custom character where their software automatically tries to register and match the bone structure move-for-move, name-for-name. So if you can export a Gen2 character into an animation service, you're jumping ahead of the curve, so to speak. All the joint names in the bvh file will be correct from the start.

For anyone who hasn't used Daz3d, it is... in my humble opinion, a little wrapped around the axle in some ways and could be improved. One of the big areas it could do better is with the base install and allowing access to the base functions. But once you do get it running and gain proper access to the gen2 models, you can, for example, follow deepmotion's tutorial here to move your own character on to their animation capture platform. Note: for that tutorial to work at its best, you'll probably want to export the morphs of your own character, using the excellent plugin and instructions from @Chokaphi here.

I've been mulling over buying a full-blown motion capture system recently, such as the 3-part (or 4 part with the EMF) rokoko kit. But before springing for that, I'm taking some time with these self-proclaimed "AI" motion capture software studios. I have to say - when you take them at face value, they're not that great... no better than some hard idlepose grunt work. But when they're set up correctly (e.g. when you import a Gen2 model into thier system) I've found you can get quite interesting results. I'll come back to this thread if I have something meaningful, like a tut vid, to post.

In the meantime, I'd recommend trying out deepmotion with your own custom Gen2 model uploaded to thier service.
 
I've been mulling over buying a full-blown motion capture system recently,

I'm in the same situation as you @robbie85s and was seriously looking at the Sony Mocopi system since it was inexpensive and produced BVH files, but I haven't seen any examples of this yet so I'm holding off. I also heard that in December 2023 the new Quest 3 will be getting some type of AI full body tracking so I think I'll wait for that. Hopefully it can be used inside of VaM.
 
Back
Top Bottom