Poser to maya

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

Thread Tools Display Modes
  10 October 2012
When I loaded your .ma, maya shamelessly crashed, so I tried to import everything from scratch. I didn't have time to finish the process, but I believe I can give you pointers how to do so. Before we start, I assume that you found the poser maya plugin that is supplied with poser unsatisfactory as I did. Also I should emphasize that I'm not giving you an off-the-shelf foolproof solution. You'll have to experiment, be creative, and that requires patience. I'm willing to help you with some hints, and supply some dumb scripts as the ones you tried before, but unfortunately I don't have time to do the process myself. If you have an alternative solution, then by all means you should use it, I'm only trying to help you here (maybe poser or autodesk support would help you better?).

Also the solution that I suggest is for poser only, and daz studio requires a different approach. I experimented with maya 2013, poser 2012, and the imocaputilz.dll, but the main idea should work with different versions as well, and an adjustment to my scripts is needed. For example my current versions produce an output that doesn't conform with my previous fix1() function. It could also have something to do with your specific scene, I didn't try to create a different one in my poser.

BTW I used imocaputilz.dll plugin to import .bvh, what did you use?

Okay, let's start. You'll need to export from poser a .bvh and a .dae. If you import the .bvh to maya you'll get a skeleton with animation keys. If you import a .dae (to a new scene), which has the same behavior as importing a .fbx, it would import a model which is bound to a skeleton (including skin weights). Rotating the skeleton joints should animate the model as well as animating it in poser. So our objective is to connect the keyframes from the .bvh skeleton to the .dae skeleton. You should be able to do that with skeleton retargeting, but it requires to set character labels to the joints, and I didn't try this approach (and perhaps you should, look for it in maya doc).

The first step
To a new scene first import the .dae and then the .bvh. You'll get two different skeletons, each under a different transform. The first problem that you'll notice is that the skeletons are of different sizes. So the first step that you should work on would be to export from poser consistent data, such that both skeleton would be of the same size. I can't help you much here, but I can tell you that the .bvh export has a scaling check box, and the .dae export has metric options and even presets for maya (which didn't work for me for your scene). If you can't make it work, maybe the next step would work without it, else you'll need another solution such as scaling one of the skeletons, in the scene you created, to fit the other one, and export it to a .fbx. In the next step you should load this .fbx instead of the original .bvh or .dae. I believe that the scaling of one of the skeletons doesn't have to be manual, since if you have joint correspondence you can find the exact transform (scale, rotate, and translate) that would bring one skeleton to fully overlap another. You can even start a new thread at the programming section of how to do that.

The second step
My method for combining the .bvh and .dae relies on the property of the .dae importer, which, when finding a joint in the scene with the same name as in the .dae file, it uses it instead of creating a new one. Thus if you import to a new scene the .bvh, which results in an animated skeleton, and this skeleton joints would have the same names as in the .dae file, then the importer would actually combine the information flawlessly. So the process is:

A. Import .bvh to a new scene.
B. Rename all the skeleton joints to have the exact names (case-sensitive) as the joints in the .dae file.
C. Import the .dae file to the same scene.

Then, what you need to work on is step C. You need to find a pattern that relates the name of a .bvh joint to the name of its corresponding .dae joint. I think in your case it's just a simple matter of changing the first letter to uppercase, but I'm not sure. If you find such a pattern, I can write for you a small script that would rename all the joints in the scene according to the pattern.

Okay, that's it, don't be shy to ask questions.

Last edited by zoharl : 10 October 2012 at 10:26 PM.
  10 October 2012
Thread automatically closed

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
Thread Closed share thread

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Society of Digital Artists

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump

All times are GMT. The time now is 04:54 PM.

Powered by vBulletin
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.