BVH exporter: add "feet on ground" and scale options
|Status:||In Progress||Start date:||05/20/2014|
|Assignee:||Jonas Hauquier||% Done:|
|Target version:||MakeHuman 1.1.2|
BVH exporter still lacks these options.
#8 Updated by Jonas Hauquier almost 3 years ago
- Status changed from Accepted to Fix exists, needs testing
- % Done changed from 0 to 100
Scale was already implemented. Now I added feet on ground offsetting as well.
Note: because Blender interprets pose data offsets as positions (see #758 for that), it will only show the rest pose correctly offset, not in pose mode. In my opinion this is a bug in blender.
If someone else could verify this working, perhaps I back-port it to stable for release in 1.1, since it's a small change.
#13 Updated by Rob Baer almost 3 years ago
- File screenshot_1_1460084903.png added
Well, the export options appear, but during testing I rediscovered #951. I tried saving files named r2031d, r2031m, r2031c, and r2031i. However, the export plugin added various pose names on to the end of the specified names during save process. I made multiple saves with each intended name, and it looks like there is a pattern of sorts to what is added. Note that I did not specify an explicit file extension during thee save process
Here's a snippet from the export folder showing the results:
#14 Updated by Jonas Hauquier almost 3 years ago
Hmm, yes that's a feature but at this moment it might not be working as it's portrayed in the GUI.
It happens if you enable the "animations" checkbox.
Anyway, with animation not finished, this feature has not much purpose except for development, so I'll remove it.
#17 Updated by Rob Baer almost 3 years ago
- File screenshot_1_1460161116.png added
The export seems to work now to produce different sizes in Blender which I can only presume to be the intended result. Centimeters seems to mean 1 cm/blender unit, inches to mean 1 in/blender unit, etc as currently implemented.
Feet on floor works fine when the bones is highlighted in Blender (see fig white box) which again I understand to be intended behavior. However, if the imported "object" (r2032c in fig) or the "pose" (pose in fig) is highlighted rather than bones, the floor is zeroed to the hips rather than the feet. If I understand earlier comments in this thread, this is a Blender import problem, not an MH export problem???
So, in this figure each imported bvh skeleton has hips that appear at the Blender floor level. Selecting the white box would put r2032c's feet on floor instead.
So, if this is expected behavior, mark it fixed.
EDIT: If I can I'll see what happens in Maya
#18 Updated by Rob Baer almost 3 years ago
- File screenshot_1_1460190592.png added
Maya does not appear to support .bvh import. I tried BVHViewer as one non-Blender alternative
In BVHViewer, scale is preserved on import but the hips, not the feet, appear at the .bvh floor (see below). In addition it handles our joint rotations strangely (actually probably this is our column order choice?). Here is what it does to the t-pose for the default skeleton upon cm export scale (best scale for this viewer).
(see also my comment ON COLUMN ORDER http://bugtracker.makehumancommunity.org/issues/951#note-5).
#19 Updated by Rob Baer almost 3 years ago
- File screenshot_2_1460213860.png added
While it is disturbing that all .bvh importers can't handle MH BVH export files, it is encouraging that Motion Builder builder does fairly well and puts feet on ground:
Note: Joint size of scales other than cm render disproportionately large. MB seems to assume import of bvh written with cm/unit scale.
#20 Updated by Jonas Hauquier almost 3 years ago
Good point on the rotation order, I'll change it to z,x,y. Actually any order is fine, which is why BVH declares it in the structure definition. It seems that BVHViewer is just plain stupid at assuming a hard coded rotation, and ignores the one in the file.
You can also try BVHacker.
#23 Updated by Rob Baer almost 3 years ago
Jonas Haquier wrote:
You can also try BVHacker.
Actually, I did try BVHacker 1.9 which read AACAD and CMU files fine, but not our pose files. (see http://bugtracker.makehumancommunity.org/issues/951#note-3) I've done a bunch of playing to try and discover the issue, but I've been unable to so far. The current discussion caused me to try regressing to the final stable BVHacker 1.8 [the author is now devoting his attention to "High Fidelity"virtual reality project].
Anyway, BVHacker 1.8 does read our files, and produces hips at ground and unexpected joint rotations much like BVHViewer.
#26 Updated by Rob Baer almost 3 years ago
Well there are "standards" and there are "conventions". We can be within standard but disappoint our users if other programs are adopting less rigorous use conventions. Life's a bitch when even "being right" isn't enough!! ;-)
My guess is that MB is written to the standard, but BVHacker and BVHViewer are expecting a single common use-scenario and so don't bother checking for less common use-scenarios. That said, our mantra should be, "Make the life of the MH end-user as easy as possible" when we have a choice in the matter.
#29 Updated by Jonas Hauquier over 2 years ago
- Status changed from Fix exists, needs testing to In Progress
- Priority changed from Normal to High
- Target version changed from MakeHuman 1.2.0 to MakeHuman 1.1.0
I ported the commits related to this ticket to 1.1 stable branch because I think they work well and deliver a significant improvement.
I'd like to have a look at BVH conventions and standards compliance again before we release 1.1
#30 Updated by Rob Baer over 2 years ago
- File screenshot_2_1461242555.png added
Tested r2050 in Blender 2.77a by importing : 1) the t-pose template file itself (data|pose folder); 2) a t-pose with the default skeleton % exported with feet on ground and meters checked; 3)2) a t-pose with the default skeleton % exported with feet on ground and meters NOT checked;Some observations:
- Checking "Feet on ground" during export does not change the imported skeleton. In both cases, the origin of the skeleton remains at the hips.
- The skeleton from the exported files has the expected orientation in Blender space when imported, but the MH template skeleton (from MH data|pose file) imports as "face-planted" with the same import settings on the Blender bvh importer.
- The exported bvh files have rotation issues with arms and legs
Also available in: Atom