BVH/PZ2 Exporter
I don't know if this is a failing with C8.5 or the extension, but Fenric's BHV/PZ2 Exporter is giving me fits. For this I am using the Daz Wolf and creating a crouch pose.
1. Create new scene file
2. Import wolf
3. Change time to 1s
4. Pose wolf*
5. Export pose as PZ2**
6. Create new scene file
7. Import wolf
8. Import crouch pose
The end result is the legs and body appear to come in correctly, but the neck/head are sharply swiveled to look right and the tail is swiveled left. Nor is the head tilted the way it should be.
* Pose is to position/rotate the hip and all legs. Head/neck are rotated to look up from crouch, but still looking in front of the head (no swivel)
** Enabled options are "Global Translation" and "Rotation"
I reset my downloads and compared the current version of the plugin to what I am using and what I have is current. I am using C8.5-172 on OS X 10.8.2
On further consideration and review I wonder if the rotation I'm doing for the neck/head is being exported along the wrong axis. It swivels to the side instead of up/down. On the other hand, I'm not sure what is going on with the tail because I am not posing it at all.
Reviewing the pz2 I confirm that the head/neck rotations are along the Y axis instead of the X axis. I can also confirm that the exported pz2 contains rotation information for the tail, also in the Y axis. Although I might be able to correct the pz2 file that is hardly the point of using an exporter.
I'm going to try and confirm the behavior in C8 and C7, but C8 at least doesn't keep the registration information so its a pain (have to enter twice each time it is run).
Comments
Carrara 8.1 (also on OS X 10.8.2) -- practically identical results: the resulting exported file does not differ* from that produced by 8.5-172. Carrara 7 does not appear to function on 10.8.2 so I can't test the behavior.
* technically, the file is different, but barely so. One rotation value is different by 0.00000001.
Edited to add: discovered why the tail was swiveling -- I hadn't paid attention and the default pose had the tail rotated away from zero. And just like the neck and head the axis was changed from X to Y when saved. So the existing rotation was translated from the X to Y axis by the BVH/PZ2 exporter. I'm not sure why it only is doing this to the head, neck and tail and no other body part.
Poser and Carrara don't use the same X, Y, and Z, so I have to translate. The difficulty is that it isn't completely consistent for each rotation order (xyz, zyx, yzx, and so on). There are nine combinations, and if the wolf uses one that is particularly unusual (there are some I never saw in testing and have never encountered in the years since), then it is certainly possible that I have the translation wrong.
Can you tell me what the rotation order (in Carrara) for those body parts is? (I don't have the DAZ Wolf, so I can't check it myself)
Ouch. That bites. I'll take a look when I'm home and let you know.
This looks to be the rotation orders:
actor BODY:1
rotateY yrot
rotateX xrot
rotateZ zrot
actor hip:1
rotateZ zrot
rotateX xrot
rotateY yrot
actor waist:1
rotateZ zrot
rotateY yrot
rotateX xrot
actor chest:1
rotateZ zrot
rotateY yrot
rotateX xrot
actor lShldr:1
rotateY yrot
rotateZ zrot
rotateX xrot
actor lForeArm:1
rotateY yrot
rotateZ zrot
rotateX xrot
actor lWrist:1
rotateY yrot
rotateZ zrot
rotateX xrot
actor lHand:1
rotateY yrot
rotateX xrot
rotateZ zrot
actor rShldr:1
rotateY yrot
rotateZ zrot
rotateX xrot
actor rForeArm:1
rotateY yrot
rotateZ zrot
rotateX xrot
actor rWrist:1
rotateY yrot
rotateZ zrot
rotateX xrot
actor rHand:1
rotateY yrot
rotateX xrot
rotateZ zrot
actor neck1:1
rotateZ zrot
rotateY yrot
rotateX xrot
actor neck2:1
rotateZ zrot
rotateY yrot
rotateX xrot
actor head:1
rotateZ zrot
rotateY yrot
rotateX xrot
actor lEar:1
rotateY yrot
rotateZ zrot
rotateX xrot
actor rEar:1
rotateY yrot
rotateZ zrot
rotateX xrot
actor lThigh:1
rotateY yrot
rotateZ zrot
rotateX xrot
actor lLeg:1
rotateY yrot
rotateZ zrot
rotateX xrot
actor lShin:1
rotateY yrot
rotateZ zrot
rotateX xrot
actor lFoot:1
rotateY yrot
rotateX xrot
rotateZ zrot
actor rThigh:1
rotateY yrot
rotateZ zrot
rotateX xrot
actor rLeg:1
rotateY yrot
rotateZ zrot
rotateX xrot
actor rShin:1
rotateY yrot
rotateZ zrot
rotateX xrot
actor rFoot:1
rotateY yrot
rotateX xrot
rotateZ zrot
actor tail1:1
rotateZ zrot
rotateY yrot
rotateX xrot
actor tail2:1
rotateZ zrot
rotateY yrot
rotateX xrot
actor tail3:1
rotateZ zrot
rotateY yrot
rotateX xrot
actor tail4:1
rotateZ zrot
rotateY yrot
rotateX xrot