ipisoft.com
http://forum.ipisoft.com/

Missing Bones
http://forum.ipisoft.com/viewtopic.php?f=13&t=9831
Page 1 of 1

Author:  galagast [ Sat Sep 16, 2017 1:55 am ]
Post subject:  Missing Bones

I'm currently having a problem where loading an fbx rig as a Target Character for export is not showing all the bones in my rig.

I'm using Houdini's default Mocap Biped 3 Character:
Attachment:
hou_mocapbiped3.jpg
hou_mocapbiped3.jpg [ 42.76 KiB | Viewed 180 times ]

Then I export that to an FBX format.
Here's the FBX File:
Attachment:
mocapbiped3.zip [1 MiB]
Downloaded 11 times
.

But when I load it up in the Mocap Studio via the Export panel's Target Character dropdown, I get this:
Attachment:
ipi_incomplete_bones.jpg
ipi_incomplete_bones.jpg [ 61 KiB | Viewed 180 times ]


There are missing bones (particularly the legs), the rig network looks like this:
Code:
Hips
-LowerBack_To_Spine
--Spine_To_Spine1
---LeftShoulder_To_LeftArm
----LeftArm_To_LeftForeArm
-----LeftForeArm_To_LeftHand
------LeftFingerBase_To_LeftHandIndex1
---RightShoulder_To_RightArm
----RightArm_To_RightForeArm
-----RightForeArm_To_RightHand
------RightFingerBase_To_RightHandIndex1
---Neck_To_Neck1
----Neck1_To_Head
-----Head_To_HeadEnd
-RHipJoint_To_RightUpLeg
--RightUpLeg_To_RightLeg
---RightLeg_To_RightFoot
----RightFoot_To_RightToeBase
-----RightToeBase_To_RightToeBaseEnd
-LHipJoint_To_LeftUpLeg
--LeftUpLeg_To_LeftLeg
---LeftLeg_To_LeftFoot
----LeftFoot_To_LeftToeBase
-----LeftToeBase_To_LeftToeBaseEnd

Author:  galagast [ Mon Sep 18, 2017 2:38 am ]
Post subject:  Re: Missing Bones

In addition, if you import the FBX file back to Houdini, the bones are complete:
Attachment:
hou_reimport_bones.JPG
hou_reimport_bones.JPG [ 23.1 KiB | Viewed 177 times ]


So, Houdini is able to export FBX rigs no problem.
Are there certain requirements in iPi for Taget Character FBX rigs?

I found a related thread, but it does not solve my problem.

Author:  vmaslov [ Mon Sep 18, 2017 12:51 pm ]
Post subject:  Re: Missing Bones

Hi
Thanks for reporting. Indeed, Mocap Studio has troubles with this rig.
The legs are missing because importer detects a character's root bone incorrectly. We have a fix for this already.
However, there is another issue with this character resulting in wrong orientation of the left arm. We are working on this now.

Author:  galagast [ Thu Sep 21, 2017 7:08 am ]
Post subject:  Re: Missing Bones

Thank you for the response, I ended up doing a bit of a workaround for now.

I converted the bvh exported from the Motion Capture using a Houdini command to just be joints.
Then in Houdini, I created a bone rig that matches the mocapbiped of Houdini, essentially re-creating the bone hierarchy all with look-at constraints based on the joints. It just needed manual tweaking to get the bone axis rotations correctly. The resulting transfer is not entirely perfect, but so far looks workable.

Looking forward for the update, it would be great if iPi soft would support a Houdini mocapbiped rig. This would open up creating more motion clips for use with Houdini's crowd system.

Author:  Michael Nikonov [ Fri Sep 22, 2017 7:29 am ]
Post subject:  Re: Missing Bones

The model - mocapbiped3.zip - looks somewhat unusual.
The root ("MASTER") and Hips are exported to FBX as locators rather then joints.
The rest of the skeleton joints are exported as hidden.
The LeftShoulder_To_LeftArm joint has "-1" scale (all other joints have positive unit scale).

iPi Mocap Studio, just like most of the software packages in 3D industry, expects FBX models to have normal joints for joints (not locators, not hidden joints), and positive scale for all joints.

I think you should be able to fix all these issues inside Houdini. There should be relevant settings somewhere in FBX export options, or in Houdini node properties. Just set them before exporting model for motion transfer in iPi Mocap. You can revert back to old settings after you import mocap file.

Author:  galagast [ Fri Sep 22, 2017 10:02 am ]
Post subject:  Re: Missing Bones

Thank you for looking into it. I did notice the negative scaling of the leftarm while I was doing my retargetting rig, quite unusual.
I'll try and raise this issue over at SideFX.

Cheers!

Author:  galagast [ Fri Sep 22, 2017 10:50 am ]
Post subject:  Re: Missing Bones

Hi again, I looked into exporting the mocapbiped3 as an FBX in ASCII format.
After checking the generated file, I found these lines of code to be the closest on the would seem to set the visibility.
Code:
P: "Visibility", "Visibility", "", "A",0

If so.. every joint really is being set to invisible.

I'm curious why iPi Mocap can see some of it, and not the others?
For example, in the screenshot on my first post, the dropdown can show the RightShoulder_To_RightArm on the list.
Then, looking into the FBX ASCII for the same joint:
Code:
   Model: 1419346157696, "Model::RightShoulder_To_RightArm", "LimbNode" {
      Version: 232
      Properties70:  {
         P: "RotationOrder", "enum", "", "",5
         P: "RotationActive", "bool", "", "",1
         P: "InheritType", "enum", "", "",1
         P: "ScalingMax", "Vector3D", "Vector", "",0,0,0
         P: "DefaultAttributeIndex", "int", "Integer", "",0
         P: "Lcl Translation", "Lcl Translation", "", "A",-2.77555756156289e-17,-8.88178419700125e-16,-4
         P: "Lcl Rotation", "Lcl Rotation", "", "A",-55.6770413933336,93.3972823623471,-8.6708041071381
         P: "Lcl Scaling", "Lcl Scaling", "", "A",0.999999999999607,0.999999999999817,0.999999999999375
         P: "Visibility", "Visibility", "", "A",0
         P: "Visibility Inheritance", "Visibility Inheritance", "", "",0
      }
      Shading: Y
      Culling: "CullingOff"
   }

It looks like the visibility is set to 0, yet it can show up on the list.
Lastly, comparing it to a joint that is not visible on the iPi Mocap list:
Code:
   Model: 1419345944704, "Model::RightFoot_To_RightToeBase", "LimbNode" {
      Version: 232
      Properties70:  {
         P: "RotationOrder", "enum", "", "",5
         P: "RotationActive", "bool", "", "",1
         P: "InheritType", "enum", "", "",1
         P: "ScalingMax", "Vector3D", "Vector", "",0,0,0
         P: "DefaultAttributeIndex", "int", "Integer", "",0
         P: "Lcl Translation", "Lcl Translation", "", "A",2.22044604925031e-16,-2.22044604925031e-16,-6.81
         P: "Lcl Rotation", "Lcl Rotation", "", "A",-76.2409577949345,8.05563979598301,4.8228699218134
         P: "Lcl Scaling", "Lcl Scaling", "", "A",1,1,1
         P: "Visibility", "Visibility", "", "A",0
         P: "Visibility Inheritance", "Visibility Inheritance", "", "",0
      }
      Shading: Y
      Culling: "CullingOff"
   }

They seem to have the same visibility settings, yet it is not being shown in the list?

Would you happen to know if a different part of the ASCII is responsible for the visibility?
I wanted to check and confirm why parts of the rig is not visible in iPi Mocap. Because when I load the FBX on both Houdini and 3dsmax, they both show the complete joints.

I've attached the ASCII file exported from Houdini below.

Attachments:
mocapbiped3_ASCII.zip [975.05 KiB]
Downloaded 5 times

Page 1 of 1 All times are UTC - 8 hours [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/