Coder Social home page Coder Social logo

gltf2usd's People

Contributors

adrianbautista avatar c-oneal avatar danlee-lils avatar dependabot[bot] avatar jpweeks avatar kcoley avatar ox avatar spiderworm avatar sulydeni avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gltf2usd's Issues

A bunch of joints, animated, cannot be converted

I basically have bunch of joints, animated, under Armature, exported from Blender.

loopingnoise.zip

Error Message:

192-168-1-4:source jimmygunawan$ python gltf2usd.py -g loopingnoise.gltf -o loopingnoise.usda
Traceback (most recent call last):
  File "gltf2usd.py", line 1105, in <module>
    convert_to_usd(args.gltf_file, args.usd_file, args.fps, args.verbose)
  File "gltf2usd.py", line 1094, in convert_to_usd
    GLTF2USD(gltf_file=gltf_file, usd_file=usd_file, fps=fps, verbose=verbose)
  File "gltf2usd.py", line 63, in __init__
    self.convert()
  File "gltf2usd.py", line 1080, in convert
    self.convert_nodes_to_xform()
  File "gltf2usd.py", line 101, in convert_nodes_to_xform
    self._convert_animations_to_usd()
  File "gltf2usd.py", line 511, in _convert_animations_to_usd
    self._convert_skin_animations_to_usd()
  File "gltf2usd.py", line 623, in _convert_skin_animations_to_usd
    self._store_joint_animations(usd_animation, joint_values, joint_map)
  File "gltf2usd.py", line 667, in _store_joint_animations
    rotation = joint.skeleton_joint.GetRestTransformsAttr().Get()[joint.joint_index].ExtractRotation()
AttributeError: 'dict' object has no attribute 'GetRestTransformsAttr'

I don't have root of this bones, wondering if this is an issue?

Latest converter update is confusing and has weird issues...

I'm wondering what's the best way to install the Python module. In the past, I simply copy paste all the files in the source into the folder where the gltf asset is, and then run the Python tool:

screen shot 2018-09-29 at 09 55 47

But in the latest update the tools have grown and when I tested a conversion using the tests asset, I keep getting weird error:

TATATs-MacBook-Pro:Start_Walking jimmyg$ python gltf2usd.py -g Start_Walking.gltf -o Start_Walking.usdz
converted usd file extension from .usdz to .usdc: Start_Walking.usdc
Traceback (most recent call last):
  File "gltf2usd.py", line 726, in <module>
    convert_to_usd(args.gltf_file, args.usd_file, args.fps, args.scale, args.arkit, args.verbose, args.use_euler_rotation)
  File "gltf2usd.py", line 679, in convert_to_usd
    usd = GLTF2USD(gltf_file=gltf_file, usd_file=usd_file, fps=fps, scale=scale, verbose=verbose, use_euler_rotation=use_euler_rotation)
  File "gltf2usd.py", line 68, in __init__
    self.convert()
  File "gltf2usd.py", line 655, in convert
    self._convert_images_to_usd()
  File "gltf2usd.py", line 414, in _convert_images_to_usd
    shutil.copyfile(image_path, image_name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 69, in copyfile
    raise Error("`%s` and `%s` are the same file" % (src, dst))
shutil.Error: `Boss_diffuse.png` and `/Users/jimmyg/Documents/PROJECT20180922/Madain_Saleh/anim3/tests/assets/Start_Walking/Boss_diffuse.png` are the same file

UPDATE: Regarding me being dumb copy pasting the script into the folder, I just realized I can keep the original Tool, then open terminal inside the source tool folder and then drag and drop the GLTF file to be converted and then simply just output the result inside any folder. I am still getting familiar with commands and terminal.

For example:
screen shot 2018-09-29 at 14 17 45

Is animated "stepped" frames / GIF / PNG possible in GLTF to USDZ?

Like the subject, I am actually thinking to do some kind of stop motion animation using bunch of PNG + transparency. And having this as GLTF would be quite fun, I think.

Although so far, trying to do this using 3D mesh sequence seems like not possible since kefyraming visibility in block (not linear) or stepped keys do not translate to GLTF... unless I am doing it wrong? Wondering if Scaling On and Off in stepped keys would work ...

Unicode Encode Error and another Syntax error

This Sketchfab model is also problematic:
https://sketchfab.com/models/60a1ff80a22a48c09833a403b5f48b73

Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/Marie_rose_motion_INTRO_pose_fbx//RootNode/_arm//_rootJoint>: syntax error
Traceback (most recent call last):
  File "gltf2usd.py", line 1126, in <module>
    convert_to_usd(args.gltf_file, args.usd_file, args.fps, args.scale, args.verbose)
  File "gltf2usd.py", line 1114, in convert_to_usd
    GLTF2USD(gltf_file=gltf_file, usd_file=usd_file, fps=fps, scale=scale, verbose=verbose)
  File "gltf2usd.py", line 70, in __init__
    self.convert()
  File "gltf2usd.py", line 1100, in convert
    self.convert_nodes_to_xform()
  File "gltf2usd.py", line 104, in convert_nodes_to_xform
    self._convert_node_to_xform(node, node_index, xform_name)
  File "gltf2usd.py", line 157, in _convert_node_to_xform
    self._convert_node_to_xform(self.gltf_loader.json_data['nodes'][child_index], child_index, xform_path + '/node{}'.format(child_index))
  File "gltf2usd.py", line 157, in _convert_node_to_xform
    self._convert_node_to_xform(self.gltf_loader.json_data['nodes'][child_index], child_index, xform_path + '/node{}'.format(child_index))
  File "gltf2usd.py", line 157, in _convert_node_to_xform
    self._convert_node_to_xform(self.gltf_loader.json_data['nodes'][child_index], child_index, xform_path + '/node{}'.format(child_index))
  File "gltf2usd.py", line 157, in _convert_node_to_xform
    self._convert_node_to_xform(self.gltf_loader.json_data['nodes'][child_index], child_index, xform_path + '/node{}'.format(child_index))
  File "gltf2usd.py", line 157, in _convert_node_to_xform
    self._convert_node_to_xform(self.gltf_loader.json_data['nodes'][child_index], child_index, xform_path + '/node{}'.format(child_index))
  File "gltf2usd.py", line 157, in _convert_node_to_xform
    self._convert_node_to_xform(self.gltf_loader.json_data['nodes'][child_index], child_index, xform_path + '/node{}'.format(child_index))
  File "gltf2usd.py", line 157, in _convert_node_to_xform
    self._convert_node_to_xform(self.gltf_loader.json_data['nodes'][child_index], child_index, xform_path + '/node{}'.format(child_index))
  File "gltf2usd.py", line 153, in _convert_node_to_xform
    self._convert_mesh_to_xform(self.gltf_loader.json_data['meshes'][node['mesh']], usd_parent_node, node_index, skin_index )
  File "gltf2usd.py", line 177, in _convert_mesh_to_xform
    self._convert_primitive_to_mesh(name=mesh_primitive_name, primitive=mesh_primitive, usd_parent_node=usd_parent_node, node_index=node_index, double_sided = double_sided, skin_index=skin_index)
  File "gltf2usd.py", line 238, in _convert_primitive_to_mesh
    self._convert_skin_to_usd(gltf_node, node_index, usd_parent_node, mesh)
  File "gltf2usd.py", line 741, in _convert_skin_to_usd
    name = self._convert_to_usd_friendly_node_name(self._get_joint_name(node))
  File "gltf2usd.py", line 549, in _get_joint_name
    name = '{0}/{1}'.format(n.name, name)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-11: ordinal not in range(128)

mesh under the root mesh needs to be scaled to (1,1,1) for scaling to be correct

@kcoley I've also picked up that when you have a mesh under the root mesh hierarchy, if it doesn't have a 1,1,1 scale its won't correctly scale relative to the root mesh. To fix this I scale the root to (1,1,1) and all my nested meshes to a (1,1,1) as a workaround. Usually a pain in the but if you forget to do it much pain later!

BTW, the GLTF input file is scaled correctly in the sandbox, so it seems like the usdz conversion is not handling the scaling correctly from GLTF.

Mixamo syntax error

I am testing this GLTF animation from Sketchfab:
https://sketchfab.com/models/710bbaccf8a442ea9b900354361f6d5a

Error message:

Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_Neck_05>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_Neck_05/mixamorig_Head_06>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_Neck_05/mixamorig_Head_06/mixamorig_HeadTop_End_07>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandThumb1_012>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandThumb1_012/mixamorig_LeftHandThumb2_013>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandThumb1_012/mixamorig_LeftHandThumb2_013/mixamorig_LeftHandThumb3_014>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandThumb1_012/mixamorig_LeftHandThumb2_013/mixamorig_LeftHandThumb3_014/mixamorig_LeftHandThumb4_015>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandIndex1_016>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandIndex1_016/mixamorig_LeftHandIndex2_017>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandIndex1_016/mixamorig_LeftHandIndex2_017/mixamorig_LeftHandIndex3_018>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandIndex1_016/mixamorig_LeftHandIndex2_017/mixamorig_LeftHandIndex3_018/mixamorig_LeftHandIndex4_019>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandMiddle1_020>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandMiddle1_020/mixamorig_LeftHandMiddle2_021>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandMiddle1_020/mixamorig_LeftHandMiddle2_021/mixamorig_LeftHandMiddle3_022>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandMiddle1_020/mixamorig_LeftHandMiddle2_021/mixamorig_LeftHandMiddle3_022/mixamorig_LeftHandMiddle4_023>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandRing1_024>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandRing1_024/mixamorig_LeftHandRing2_025>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandRing1_024/mixamorig_LeftHandRing2_025/mixamorig_LeftHandRing3_026>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandRing1_024/mixamorig_LeftHandRing2_025/mixamorig_LeftHandRing3_026/mixamorig_LeftHandRing4_027>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandPinky1_028>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandPinky1_028/mixamorig_LeftHandPinky2_029>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandPinky1_028/mixamorig_LeftHandPinky2_029/mixamorig_LeftHandPinky3_030>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_LeftShoulder_08/mixamorig_LeftArm_09/mixamorig_LeftForeArm_010/mixamorig_LeftHand_011/mixamorig_LeftHandPinky1_028/mixamorig_LeftHandPinky2_029/mixamorig_LeftHandPinky3_030/mixamorig_LeftHandPinky4_031>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandThumb1_036>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandThumb1_036/mixamorig_RightHandThumb2_037>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandThumb1_036/mixamorig_RightHandThumb2_037/mixamorig_RightHandThumb3_038>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandThumb1_036/mixamorig_RightHandThumb2_037/mixamorig_RightHandThumb3_038/mixamorig_RightHandThumb4_039>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandIndex1_040>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandIndex1_040/mixamorig_RightHandIndex2_041>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandIndex1_040/mixamorig_RightHandIndex2_041/mixamorig_RightHandIndex3_042>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandIndex1_040/mixamorig_RightHandIndex2_041/mixamorig_RightHandIndex3_042/mixamorig_RightHandIndex4_043>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandMiddle1_044>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandMiddle1_044/mixamorig_RightHandMiddle2_045>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandMiddle1_044/mixamorig_RightHandMiddle2_045/mixamorig_RightHandMiddle3_046>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandMiddle1_044/mixamorig_RightHandMiddle2_045/mixamorig_RightHandMiddle3_046/mixamorig_RightHandMiddle4_047>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandRing1_048>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandRing1_048/mixamorig_RightHandRing2_049>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandRing1_048/mixamorig_RightHandRing2_049/mixamorig_RightHandRing3_050>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandRing1_048/mixamorig_RightHandRing2_049/mixamorig_RightHandRing3_050/mixamorig_RightHandRing4_051>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandPinky1_052>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandPinky1_052/mixamorig_RightHandPinky2_053>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandPinky1_052/mixamorig_RightHandPinky2_053/mixamorig_RightHandPinky3_054>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_Spine_02/mixamorig_Spine1_03/mixamorig_Spine2_04/mixamorig_RightShoulder_032/mixamorig_RightArm_033/mixamorig_RightForeArm_034/mixamorig_RightHand_035/mixamorig_RightHandPinky1_052/mixamorig_RightHandPinky2_053/mixamorig_RightHandPinky3_054/mixamorig_RightHandPinky4_055>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_LeftUpLeg_056>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_LeftUpLeg_056/mixamorig_LeftLeg_057>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_LeftUpLeg_056/mixamorig_LeftLeg_057/mixamorig_LeftFoot_058>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_LeftUpLeg_056/mixamorig_LeftLeg_057/mixamorig_LeftFoot_058/mixamorig_LeftToeBase_059>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_LeftUpLeg_056/mixamorig_LeftLeg_057/mixamorig_LeftFoot_058/mixamorig_LeftToeBase_059/mixamorig_LeftToe_End_060>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_RightUpLeg_00>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_RightUpLeg_00/mixamorig_RightLeg_061>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_RightUpLeg_00/mixamorig_RightLeg_061/mixamorig_RightFoot_062>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_RightUpLeg_00/mixamorig_RightLeg_061/mixamorig_RightFoot_062/mixamorig_RightToeBase_063>: syntax error
Warning: in _InitWithString at line 106 of /Users/jimmygunawan/Projects/Pixar/USD/pxr/usd/lib/sdf/path.cpp -- Ill-formed SdfPath <RootNode (gltf_orientation_matrix)/RootNode (model_correction_matrix)/f07870b3c64c40f197ecc2d354cabbb8_fbx//RootNode//_rootJoint/mixamorig_Hips_01/mixamorig_RightUpLeg_00/mixamorig_RightLeg_061/mixamorig_RightFoot_062/mixamorig_RightToeBase_063/mixamorig_RightToe_End_064>: syntax error
Traceback (most recent call last):
  File "gltf2usd.py", line 1126, in <module>
    convert_to_usd(args.gltf_file, args.usd_file, args.fps, args.scale, args.verbose)
  File "gltf2usd.py", line 1114, in convert_to_usd
    GLTF2USD(gltf_file=gltf_file, usd_file=usd_file, fps=fps, scale=scale, verbose=verbose)
  File "gltf2usd.py", line 70, in __init__
    self.convert()
  File "gltf2usd.py", line 1100, in convert
    self.convert_nodes_to_xform()
  File "gltf2usd.py", line 106, in convert_nodes_to_xform
    self._convert_animations_to_usd()
  File "gltf2usd.py", line 516, in _convert_animations_to_usd
    self._convert_skin_animations_to_usd()
  File "gltf2usd.py", line 608, in _convert_skin_animations_to_usd
    max_time = int(round(input_keyframe_accessor['max'][0] * self.fps))
TypeError: can't multiply sequence by non-int of type 'float'

Probably if I tried importing and exporting again from Blender...

Failed at boost installation

I keep getting some compiling error when I first ran the USD installation script. I think it has something to do with python and boost.
I have first got a boost installation error that say that there is an error running the below code

./b2 --prefix="/usr/local/USD" --build-dir="/usr/local/USD/build" -j2 address-model=64 link=shared runtime-link=shared threading=multi variant=release --with-atomic --with-date_time --with-filesystem --with-program_options --with-regex --with-system --with-thread --with-python install

then I ran it and I logged the results below, any ideas where this is coming from?

project-config.jam:24: syntax error at keyword =
project-config.jam:24: syntax error at keyword ;
warning: No toolsets are configured.
warning: Configuring default toolset "gcc".
warning: If the default is wrong, your build may not work correctly.
warning: Use the "toolset=xxxxx" option to override our guess.
warning: For more configuration options, please consult
warning: http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html
Performing configuration checks

- has_icu builds           : yes (cached)
- lockfree boost::atomic_flag : yes (cached)

Component configuration:

- atomic                   : building
- chrono                   : not building
- context                  : not building
- coroutine                : not building
- date_time                : building
- exception                : not building
- filesystem               : building
- graph                    : not building
- graph_parallel           : not building
- iostreams                : not building
- locale                   : not building
- log                      : not building
- math                     : not building
- mpi                      : not building
- program_options          : building
- python                   : building
- random                   : not building
- regex                    : building
- serialization            : not building
- signals                  : not building
- system                   : building
- test                     : not building
- thread                   : building
- timer                    : not building
- wave                     : not building

...patience...
...patience...
...found 24047 targets...
...updating 4 targets...
gcc.compile.c++ /usr/local/USD/build/boost/bin.v2/libs/thread/build/gcc-5.4.0/release/address-model-64/threading-multi/pthread/thread.o
In file included from ./boost/thread/detail/thread.hpp:21:0,
from ./boost/thread/thread_only.hpp:22,
from libs/thread/src/pthread/thread.cpp:11:
./boost/thread/detail/make_tuple_indices.hpp:35:26: warning: variadic templates only available with -std=c++11 or -std=gnu++11
template std::size_t... struct tuple_indices
^
./boost/thread/detail/make_tuple_indices.hpp:41:46: warning: variadic templates only available with -std=c++11 or -std=gnu++11
template <std::size_t Sp, std::size_t ...Indices, std::size_t Ep>
^
./boost/thread/detail/make_tuple_indices.hpp:47:46: warning: variadic templates only available with -std=c++11 or -std=gnu++11
template <std::size_t Ep, std::size_t ...Indices>
^
In file included from ./boost/thread/detail/thread.hpp:22:0,
from ./boost/thread/thread_only.hpp:22,
from libs/thread/src/pthread/thread.cpp:11:
./boost/thread/detail/invoke.hpp:242:51: warning: variadic templates only available with -std=c++11 or -std=gnu++11
template <class Ret, class A, class A0, class ...Args>
^
./boost/thread/detail/invoke.hpp:249:28: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::*f)(Args...), BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:249:91: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::*f)(Args...), BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:254:51: warning: variadic templates only available with -std=c++11 or -std=gnu++11
template <class Ret, class A, class A0, class ...Args>
^
./boost/thread/detail/invoke.hpp:261:28: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::*f)(Args...) const, BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:261:97: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::*f)(Args...) const, BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:266:51: warning: variadic templates only available with -std=c++11 or -std=gnu++11
template <class Ret, class A, class A0, class ...Args>
^
./boost/thread/detail/invoke.hpp:273:28: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::*f)(Args...) volatile, BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:273:100: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::*f)(Args...) volatile, BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:278:51: warning: variadic templates only available with -std=c++11 or -std=gnu++11
template <class Ret, class A, class A0, class ...Args>
^
./boost/thread/detail/invoke.hpp:285:28: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::*f)(Args...) const volatile, BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:285:106: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::*f)(Args...) const volatile, BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:293:51: warning: variadic templates only available with -std=c++11 or -std=gnu++11
template <class Ret, class A, class A0, class ...Args>
^
./boost/thread/detail/invoke.hpp:300:28: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::*f)(Args...), BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:300:91: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::*f)(Args...), BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:305:51: warning: variadic templates only available with -std=c++11 or -std=gnu++11
template <class Ret, class A, class A0, class ...Args>
^
./boost/thread/detail/invoke.hpp:312:28: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::*f)(Args...) const, BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:312:97: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::*f)(Args...) const, BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:317:51: warning: variadic templates only available with -std=c++11 or -std=gnu++11
template <class Ret, class A, class A0, class ...Args>
^
./boost/thread/detail/invoke.hpp:324:28: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::*f)(Args...) volatile, BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:324:100: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::*f)(Args...) volatile, BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:329:51: warning: variadic templates only available with -std=c++11 or -std=gnu++11
template <class Ret, class A, class A0, class ...Args>
^
./boost/thread/detail/invoke.hpp:336:28: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::f)(Args...) const volatile, BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:336:106: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret (A::f)(Args...) const volatile, BOOST_THREAD_RV_REF(A0) a0, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:398:42: warning: variadic templates only available with -std=c++11 or -std=gnu++11
template <class Ret, class Fp, class ...Args>
^
./boost/thread/detail/invoke.hpp:405:68: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(BOOST_THREAD_RV_REF(Fp) f, BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:409:32: warning: variadic templates only available with -std=c++11 or -std=gnu++11
template <class Ret, class ...Args>
^
./boost/thread/detail/invoke.hpp:411:24: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret(f)(Args... ), BOOST_THREAD_RV_REF(Args) ...args)
^
./boost/thread/detail/invoke.hpp:411:60: warning: variadic templates only available with -std=c++11 or -std=gnu++11
invoke(Ret(f)(Args... ), BOOST_THREAD_RV_REF(Args) ...args)
^
In file included from ./boost/bind/bind.hpp:29:0,
from ./boost/bind.hpp:22,
from ./boost/thread/detail/thread.hpp:29,
from ./boost/thread/thread_only.hpp:22,
from libs/thread/src/pthread/thread.cpp:11:
./boost/bind/arg.hpp: In constructor โ€˜boost::arg::arg(const T&)โ€™:
./boost/bind/arg.hpp:37:22: warning: typedef โ€˜T_must_be_placeholderโ€™ locally defined but not used [-Wunused-local-typedefs]
typedef char T_must_be_placeholder[ I == is_placeholder::value? 1: -1 ];
^
In file included from ./boost/thread/once.hpp:20:0,
from libs/thread/src/pthread/thread.cpp:17:
./boost/thread/pthread/once_atomic.hpp: At global scope:
./boost/thread/pthread/once_atomic.hpp:120:37: warning: variadic templates only available with -std=c++11 or -std=gnu++11
template<typename Function, class ...ArgTypes>
^
./boost/thread/pthread/once_atomic.hpp:121:108: warning: variadic templates only available with -std=c++11 or -std=gnu++11
inline void call_once(once_flag& flag, BOOST_THREAD_RV_REF(Function) f, BOOST_THREAD_RV_REF(ArgTypes)... args)
^
In file included from ./boost/tuple/tuple.hpp:33:0,
from ./boost/thread/detail/async_func.hpp:37,
from ./boost/thread/future.hpp:22,
from libs/thread/src/pthread/thread.cpp:19:
./boost/tuple/detail/tuple_basic.hpp: In function โ€˜typename boost::tuples::access_traits<typename boost::tuples::element<N, boost::tuples::cons<HT, TT> >::type>::const_type boost::tuples::get(const boost::tuples::cons<HT, TT>&)โ€™:
./boost/tuple/detail/tuple_basic.hpp:228:45: warning: typedef โ€˜cons_elementโ€™ locally defined but not used [-Wunused-local-typedefs]
typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
^
libs/thread/src/pthread/thread.cpp: In function โ€˜boost::detail::thread_data_base
boost::detail::get_current_thread_data()โ€™:
libs/thread/src/pthread/thread.cpp:140:88: error: no matching function for call to โ€˜call_once(boost::once_flag&, void (&)())โ€™
boost::call_once(current_thread_tls_init_flag,create_current_thread_tls_key);
^
In file included from ./boost/thread/once.hpp:20:0,
from libs/thread/src/pthread/thread.cpp:17:
./boost/thread/pthread/once_atomic.hpp:121:15: note: candidate: template<class Function, class ... ArgTypes> void boost::call_once(boost::once_flag&, boost::detail::thread_move_t, boost::detail::thread_move_t...)
inline void call_once(once_flag& flag, BOOST_THREAD_RV_REF(Function) f, BOOST_THREAD_RV_REF(ArgTypes)... args)
^
./boost/thread/pthread/once_atomic.hpp:121:15: note: template argument deduction/substitution failed:
libs/thread/src/pthread/thread.cpp:140:88: note: mismatched types โ€˜boost::detail::thread_move_tโ€™ and โ€˜void (
)()โ€™
boost::call_once(current_thread_tls_init_flag,create_current_thread_tls_key);
^
In file included from libs/thread/src/pthread/thread.cpp:17:0:
./boost/thread/once.hpp:35:13: note: candidate: template void boost::call_once(Function, boost::once_flag&)
inline void call_once(Function func,once_flag& flag)
^
./boost/thread/once.hpp:35:13: note: template argument deduction/substitution failed:
libs/thread/src/pthread/thread.cpp:140:88: note: cannot convert โ€˜boost::detail::{anonymous}::create_current_thread_tls_keyโ€™ (type โ€˜void()โ€™) to type โ€˜boost::once_flag&โ€™
boost::call_once(current_thread_tls_init_flag,create_current_thread_tls_key);
^
libs/thread/src/pthread/thread.cpp: In function โ€˜void boost::detail::set_current_thread_data(boost::detail::thread_data_base
)โ€™:
libs/thread/src/pthread/thread.cpp:146:88: error: no matching function for call to โ€˜call_once(boost::once_flag&, void (&)())โ€™
boost::call_once(current_thread_tls_init_flag,create_current_thread_tls_key);
^
In file included from ./boost/thread/once.hpp:20:0,
from libs/thread/src/pthread/thread.cpp:17:
./boost/thread/pthread/once_atomic.hpp:121:15: note: candidate: template<class Function, class ... ArgTypes> void boost::call_once(boost::once_flag&, boost::detail::thread_move_t, boost::detail::thread_move_t...)
inline void call_once(once_flag& flag, BOOST_THREAD_RV_REF(Function) f, BOOST_THREAD_RV_REF(ArgTypes)... args)
^
./boost/thread/pthread/once_atomic.hpp:121:15: note: template argument deduction/substitution failed:
libs/thread/src/pthread/thread.cpp:146:88: note: mismatched types โ€˜boost::detail::thread_move_tโ€™ and โ€˜void ()()โ€™
boost::call_once(current_thread_tls_init_flag,create_current_thread_tls_key);
^
In file included from libs/thread/src/pthread/thread.cpp:17:0:
./boost/thread/once.hpp:35:13: note: candidate: template void boost::call_once(Function, boost::once_flag&)
inline void call_once(Function func,once_flag& flag)
^
./boost/thread/once.hpp:35:13: note: template argument deduction/substitution failed:
libs/thread/src/pthread/thread.cpp:146:88: note: cannot convert โ€˜boost::detail::{anonymous}::create_current_thread_tls_keyโ€™ (type โ€˜void()โ€™) to type โ€˜boost::once_flag&โ€™
boost::call_once(current_thread_tls_init_flag,create_current_thread_tls_key);
^
In file included from ./boost/system/system_error.hpp:14:0,
from ./boost/thread/exceptions.hpp:22,
from ./boost/thread/pthread/thread_data.hpp:10,
from ./boost/thread/thread_only.hpp:17,
from libs/thread/src/pthread/thread.cpp:11:
./boost/system/error_code.hpp: At global scope:
./boost/system/error_code.hpp:222:36: warning: โ€˜boost::system::posix_categoryโ€™ defined but not used [-Wunused-variable]
static const error_category & posix_category = generic_category();
^
./boost/system/error_code.hpp:223:36: warning: โ€˜boost::system::errno_ecatโ€™ defined but not used [-Wunused-variable]
static const error_category & errno_ecat = generic_category();
^
./boost/system/error_code.hpp:224:36: warning: โ€˜boost::system::native_ecatโ€™ defined but not used [-Wunused-variable]
static const error_category & native_ecat = system_category();
^

"g++"  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pedantic -pthread -fPIC -m64 -Wextra -Wno-long-long -Wno-variadic-macros -Wunused-function -pedantic -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_THREAD_DONT_USE_CHRONO -DBOOST_THREAD_POSIX -DNDEBUG  -I"." -c -o "/usr/local/USD/build/boost/bin.v2/libs/thread/build/gcc-5.4.0/release/address-model-64/threading-multi/pthread/thread.o" "libs/thread/src/pthread/thread.cpp"

...failed gcc.compile.c++ /usr/local/USD/build/boost/bin.v2/libs/thread/build/gcc-5.4.0/release/address-model-64/threading-multi/pthread/thread.o...
...skipped <p/usr/local/USD/build/boost/bin.v2/libs/thread/build/gcc-5.4.0/release/address-model-64/threading-multi>libboost_thread.so.1.55.0 for lack of <p/usr/local/USD/build/boost/bin.v2/libs/thread/build/gcc-5.4.0/release/address-model-64/threading-multi>pthread/thread.o...
...skipped <p/usr/local/USD/lib>libboost_thread.so.1.55.0 for lack of <p/usr/local/USD/build/boost/bin.v2/libs/thread/build/gcc-5.4.0/release/address-model-64/threading-multi>libboost_thread.so.1.55.0...
...skipped <p/usr/local/USD/lib>libboost_thread.so for lack of <p/usr/local/USD/lib>libboost_thread.so.1.55.0...
...failed updating 1 target...
...skipped 3 targets...

Add scale option for generating usda files

By default, generated USD files are scaled by 100x to convert from glTF's meters to USD's centimeters. However, not all models are properly scaled. Add an option to specify the scale to use during conversion

Animating more than 1 character is not working

@kcoley @ox

I have two character animations I posted at fusionar.app

CarrotMan

BananaMan

For some reason the two characters don't play nicely as one scene file in usd or usdz. They work as dae files in both Cheetah3D and Blender. I've attached the glTF 2.0 files I was using for the conversion. The characters are animating ok in the sandbox glTF viewer.
two_Characters.zip

I spent several hours on this today manually editing the usda file to see if I could find a hack... but lucked out!

I haven't even seen an example of a usdz animating more than 1 character... so I'm in unchartered waters!

Scale wrong - when using keyframes in GLTF file

@kcoley I'm currently chasing another bug relating to scaling after adding keyframes to the GLTF. What you may not have picked up on the cubeBounce example I posted yesterday. The floor scale was not correct relative to the 3 cubes for the usdz version (that was because it was not key-framed).

So in a nutshell, whenever you keyframe a mesh, that key-framed mesh changes its scale, and it is not correct. The attached files is the same file, 1 without keyframing - the scale is correct. 2 with key framing the scale is wrong.
If we can fix this issue, we might finally solve the issue with multiple animations getting out of whack.
cubeBounce_scale_issue_with_keyframing.zip

Modularization/Organization

This is my first large-ish Python project that I've had to poke around, maintain, and extend. I was wondering what kind of strategies we can consider to split up the code a bit (gltf2usd.py is creeping up to 2k LoC). My goal would be to make it easier to keep track of control flow and to make it easy to find related and connected code blocks ("I want to fix an animation bug in joints. This module looks like it handles that.").

I'm leaning toward splitting parts of the GLTF2USD class into:

  • Textures(gltf_loader, usd_node)
  • Meshes(gltf_loader, usd_node)
  • Animation(gltf_loader, usd_node)

I would love to have them be "pure" functions but the Python USD kit seems to be written in a procedural style.

edit: I just noticed @kcoley's work in the refactorSkeletons branch. It seems to be cleaner

issue with iphone X

@kcoley Both my most recent usdz files posted on www.fusionar.app with rotating cubes using he latest version and --use-euler-rotation handle - Are working ok with iphone 7, ipad mini & ipad pro... in iOS... but are throwing an error when viewing with iphone X. I have not had a chance to check any other iOS devices yet. I have checked the problem on two different iphone X and it never previews so it seems like an issue of some kind.

Weird Bones Naming causing errors

weird_bone_names.zip

From Blender default, bones often named: bone.000, bone.001, bone.002 and this GLTF to USDA converter seems to dislike this idea.

Perhaps there should be a checker that can modify bone.000 to bone_000? Thanks
๐Ÿ‘

Support non ascii characters in texture file names

Hi
I am having a gltf file with swedish UTF-8 texture file names like Lร–Vร…S and so on.
The utility throws a UnicodeEncodeError: 'ascii' codec can't encode character u'\xd6' in position 19: ordinal not in range(128)
We could either support it or detect these characters and replace them with latin ones.
Here is the full error log.

Traceback (most recent call last):
  File "C:\Users\d_chr\Downloads\gltf2usd-master\Source\gltf2usd.py", line 726, in <module>
    convert_to_usd(args.gltf_file, args.usd_file, args.fps, args.scale, args.arkit, args.verbose, args.use_euler_rotation)
  File "C:\Users\d_chr\Downloads\gltf2usd-master\Source\gltf2usd.py", line 679, in convert_to_usd
    usd = GLTF2USD(gltf_file=gltf_file, usd_file=usd_file, fps=fps, scale=scale, verbose=verbose, use_euler_rotation=use_euler_rotation)
  File "C:\Users\d_chr\Downloads\gltf2usd-master\Source\gltf2usd.py", line 51, in __init__
    self.gltf_loader = GLTF2Loader(gltf_file)
  File "C:\Users\d_chr\Downloads\gltf2usd-master\Source\gltf2loader.py", line 115, in __init__
    self._initialize()
  File "C:\Users\d_chr\Downloads\gltf2usd-master\Source\gltf2loader.py", line 125, in _initialize
    self._initialize_nodes()
  File "C:\Users\d_chr\Downloads\gltf2usd-master\Source\gltf2loader.py", line 142, in _initialize_nodes
    node = Node(node_entry, i, self)
  File "C:\Users\d_chr\Downloads\gltf2usd-master\Source\gltf2\Node.py", line 8, in __init__
    self._name = '{0}_{1}'.format(self._name, node_index)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xd6' in position 19: ordinal not in range(128)

Thanks
Dimi

A simple turn table animation does not work

I am animating an object in Z-axis from 0 to 360 ยฐ with 2 linear keyframe in Blender for 100 frames, exporting as GLTF, and I am not getting animation somewhat. Quite strange.

If I made keyframe so that the animation goes from 0 to 355 ยฐ it seems to work (as GLTF, using online GLTF viewer) but very slow, and seems to be trimmed and --fps does not make any different.

The resulting USDZ does not spin either... :(

USDZ_icopoke.zip

Enumeration Must Be String?

TATATs-MacBook-Pro:gltf_example jimmyg$ python gltf2usd.py -g DamagedHelmet.gltf -o Damaged.usdz
Traceback (most recent call last):
  File "gltf2usd.py", line 1372, in <module>
    convert_to_usd(args.gltf_file, args.usd_file, args.fps, args.scale, args.arkit, args.verbose)
  File "gltf2usd.py", line 1326, in convert_to_usd
    usd = GLTF2USD(gltf_file=gltf_file, usd_file=usd_file, fps=fps, scale=scale, verbose=verbose)
  File "gltf2usd.py", line 69, in __init__
    self.convert()
  File "gltf2usd.py", line 1304, in convert
    self.convert_nodes_to_xform()
  File "gltf2usd.py", line 104, in convert_nodes_to_xform
    self._convert_node_to_xform(node, node_index, xform_name)
  File "gltf2usd.py", line 151, in _convert_node_to_xform
    self._convert_mesh_to_xform(mesh, usd_parent_node, node_index, skin_index)
  File "gltf2usd.py", line 187, in _convert_mesh_to_xform
    skin_index=skin_index)
  File "gltf2usd.py", line 222, in _convert_primitive_to_mesh
    data = self.gltf_loader.get_data(accessor=accessor)
  File "/Users/jimmyg/Downloads/gltf_example/gltf2loader.py", line 128, in get_data
    accessor_component_type = AccessorComponentType(accessor['componentType'])
  File "/Library/Python/2.7/site-packages/enum.py", line 199, in __init__
    raise EnumBadKeyError(key)
enum.EnumBadKeyError: Enumeration keys must be strings: 5126

I am using a different MacBookPro, running this Python tool to convert GLTF to USD. Trying to convert:
https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/DamagedHelmet/glTF

However, keep getting the error above.

I have not installed XCode 10 or MacOS Mojave on this new MacBookPro.

Model ends up without texture

I'm trying to get a GLTF converted in USDZ but somehow, my model ends up without any texture. When I uncompress the .usdz the texture file is in there.

For some context, I installed last week USD by Pixar and gltf2usd on a Debian on AWS EC2. It worked, I was able to export and get a nice looking USDZ.

Then I proceed to do the same again but on an Amazon Linux 2 on AWS EC2 and after some first tests, I see the USDZ doesn't display its texture. I taught it was because of some library compatibility or such kind of problem so I keep digging but now when I resolve myself to go back to use Debian I try again to convert the same GLTF and I get the same without texture model.

I wonder if this could come grom gltf2usd? Is there something obvious I'm missing here?

Crash due to node name starting with number

Hi
I noticed that if the node xform names start with a number the exporter crashes inside usd with an illformed sdfPath.
Warning: in _InitWithString at line 106 of c:\users\d_chr\downloads\usd-master\pxr\usd\lib\sdf\path.cpp -- Ill-formed SdfPath </root/00095036_LACK_N_cff_tbl_90x55_white001_1_0>: syntax error
This is the section in the gltf file,notice the name of each xform.
"nodes":[{"mesh":0,"translation":[-0.00169372559,0.0,0.00169372559],"rotation":[0.0,0.0,0.0,-1.0],"scale":[1.0,1.0,1.0],"name":"00095036-LACK_N_cff_tbl_90x55_white001:1"},{"mesh":1,"translation":[-0.00169372559,0.0,0.00169372559],"rotation":[0.0,0.0,0.0,-1.0],"scale":[1.0,1.0,1.0],"name":"00095036-LACK_N_cff_tbl_90x55_white001:2"},{"mesh":2,"translation":[-0.00169372559,0.0,0.00169372559],"rotation":[0.0,0.0,0.0,-1.0],"scale":[1.0,1.0,1.0],"name":"00095036-LACK_N_cff_tbl_90x55_white001:3"}]

The error manifests in gltf2usd.py in line 95. in _convert_node_to_xform
xformPrim = UsdGeom.Xform.Define(self.stage, '{0}/{1}'.format(usd_xform.GetPath(), GLTF2USDUtils.convert_to_usd_friendly_node_name(node.get_name())))

Just by changing the xform name with starting a letter no error is thrown. This must be a limitation of the usd sdk it can not process xform node names that start with a number. For example this passes. note the character before the name.
"nodes":[{"mesh":0,"translation":[-0.00169372559,0.0,0.00169372559],"rotation":[0.0,0.0,0.0,-1.0],"scale":[1.0,1.0,1.0],"name":"d00095036-LACK_N_cff_tbl_90x55_white001:1"},{"mesh":1,"translation":[-0.00169372559,0.0,0.00169372559],"rotation":[0.0,0.0,0.0,-1.0],"scale":[1.0,1.0,1.0],"name":"d00095036-LACK_N_cff_tbl_90x55_white001:2"},{"mesh":2,"translation":[-0.00169372559,0.0,0.00169372559],"rotation":[0.0,0.0,0.0,-1.0],"scale":[1.0,1.0,1.0],"name":"d00095036-LACK_N_cff_tbl_90x55_white001:3"}]

Thanks
Dimi

scaling different when using keyframes

@kcoley There is an issue with scaling when you add keyframes to the GLTF file. The GLTF looks fine, but the conversion to usdz is out of whack. Sticking with the same sample cubeBounce. I have pair again, one with no keyframing at all. The other with a keyframe on each separate mesh. Its a flat hierachy, but it makes no difference issue still happens either way. I suspect the scaling is not applied consistently when the gltf file contains keyframes.

I removed all the timeSamples with scale set to 0.01.


 float3 xformOp:scale:scale.timeSamples = {
            0: (0.01, 0.01, 0.01),

Multiple transform keyframe animations not working anymore

@kcoley I started using your new version since yesterday. It seems that multiple transform keyframe animations are not working in this new version. I have not looked into why just yet. But multiple keyframe transforms were definitely working in the previous version I have working examples which help me verified the issue. If you need a test file, let me know?

Error when no BaseColorTexture and only BaseColorFactor

Hi
i have gltf models which have only a baseColorFactor and no baseColorTexture in the pbrMettalucRoughness material. When processing i get this error. I tested it and its because there is no texture. it gets the color somehow in the wrong format.

This fails

 "materials": [
        {
            "pbrMetallicRoughness": {
			   "baseColorFactor":[0,0,0,1.0],
               "metallicFactor": 0.0
            },
            "emissiveFactor": [
                0.0,
                0.0,
                0.0
            ],
            "name": "blinn3-fx"
        }
    ],

This succeeds using the same mode just changing the material definition

"materials": [
        {
            "pbrMetallicRoughness": {
			   "baseColorFactor":[0.9897612,0.964492261,0.9071641,1.0],
                "baseColorTexture": {
                    "index": 0
                },
                "metallicFactor": 0.0
            },
            "emissiveFactor": [
                0.0,
                0.0,
                0.0
            ],
            "name": "blinn3-fx"
        }
    ],

Here is the error i get. What would i need to do to fix that?
Thanks

_initialize_from_gltf_material
self._set_khr_material_pbr_specular_glossiness(gltf_material)
File "C:\Users\d_chr\Downloads\gltf2usd-master\Source\usd_material.py", line 166, in _set_khr_material_pbr_specular_glossiness
self._set_pbr_metallic_roughness(gltf_material)
File "C:\Users\d_chr\Downloads\gltf2usd-master\Source\usd_material.py", line 159, in _set_pbr_metallic_roughness
self._set_pbr_base_color(pbr_metallic_roughness)
File "C:\Users\d_chr\Downloads\gltf2usd-master\Source\usd_material.py", line 230, in set_pbr_base_color
self.diffuse_color.Set(tuple(base_color_scale))
pxr.Tf.ErrorException:
Error in 'pxrInternal_v0_18__pxrReserved
::UsdStage::_SetValueImpl' at line 1522 in file c:\users\d_chr\downloads\usd-master\pxr\usd\lib\usd\stage.cpp : 'Type mismatch for </Materials/pbrmaterial_0/pbrMat.inputs:diffuseColor>: expected 'GfVec3f', got 'GfVec4d''

Support for Apple's package stand-alone USD (v18.09) libs

Kacey,

Currently you will need to initially have USD v18.09 installed on your system and have the Python modules built Pillow (Python module for image manipulation)

Would gltf2usd build with Apples new package python-usd-library ?

In the python-usd-library readme file it stated the following

This binary library was compiled using version 18.09 of [the public USD Github repository](http://openusd.org) with the following build script arguments (see USDPython/README.md for further details):

    python USD/build_scripts/build_usd.py --build-args TBB,extra_inc=big_iron.inc --python --no-imaging --docs --no-usdview --build-monolithic USDPython

Issue converting GLFT and getting texture to properly render

I've been playing around with this and have been having an easy time converting GLFT's from around the web... but have been having a lot of problem getting ARKIT to properly render out the textures from assets of my own. I was wondering if there was some insight that could be provided as to why my USDZ version is not working when the GLFT is fine.

I incidentally had to fix something locally to get this to convert (I havent sent a pull request for it yet) The first line of _convert_texture_to_usd seems to have indexing problems when referencing the textures... ive fixed this by having it use the actual source:

image_name = gltf_texture if (isinstance(gltf_texture, basestring)) else self.images[self.textures[gltf_texture['index']]['source']]

(Source GLFT)
DeclanChair_TobiasGravel.zip

(USDZ)
declan.zip

Animation FPS and SCALE tag

I wonder at what format I should specify the animation FPS and Scale? I tried 0.1 for scaling and giving me error. It needs INT... somewhat.

FPS also... I tried 30 for example:

  File "gltf2usd.py", line 1126, in <module>
    convert_to_usd(args.gltf_file, args.usd_file, args.fps, args.scale, args.verbose)
  File "gltf2usd.py", line 1114, in convert_to_usd
    GLTF2USD(gltf_file=gltf_file, usd_file=usd_file, fps=fps, scale=scale, verbose=verbose)
  File "gltf2usd.py", line 70, in __init__
    self.convert()
  File "gltf2usd.py", line 1100, in convert
    self.convert_nodes_to_xform()
  File "gltf2usd.py", line 106, in convert_nodes_to_xform
    self._convert_animations_to_usd()
  File "gltf2usd.py", line 516, in _convert_animations_to_usd
    self._convert_skin_animations_to_usd()
  File "gltf2usd.py", line 608, in _convert_skin_animations_to_usd
    max_time = int(round(input_keyframe_accessor['max'][0] * self.fps))
TypeError: can't multiply sequence by non-int of type 'float'

Getting error when running this script...

192-168-1-4:Source jimmygunawan$ python gltf2usd.py -g /Users/jimmygunawan/tentacle.gltf  -o tentacle.usda
Traceback (most recent call last):
  File "gltf2usd.py", line 1081, in <module>
    convert_to_usd(args.gltf_file, args.usd_file, args.fps, args.verbose)
  File "gltf2usd.py", line 1070, in convert_to_usd
    GLTF2USD(gltf_file=gltf_file, usd_file=usd_file, fps=fps, verbose=verbose)
  File "gltf2usd.py", line 62, in __init__
    self.convert()
  File "gltf2usd.py", line 1056, in convert
    self.convert_nodes_to_xform()
  File "gltf2usd.py", line 98, in convert_nodes_to_xform
    self._convert_node_to_xform(node, node_index, xform_name)
  File "gltf2usd.py", line 149, in _convert_node_to_xform
    self._convert_node_to_xform(self.gltf_loader.json_data['nodes'][child_index], child_index, xform_path + '/node{}'.format(child_index))
  File "gltf2usd.py", line 145, in _convert_node_to_xform
    self._convert_mesh_to_xform(self.gltf_loader.json_data['meshes'][node['mesh']], usd_parent_node, node_index)
  File "gltf2usd.py", line 169, in _convert_mesh_to_xform
    self._convert_primitive_to_mesh(name=mesh_primitive_name, primitive=mesh_primitive, usd_parent_node=usd_parent_node, node_index=node_index, double_sided = double_sided)
  File "gltf2usd.py", line 230, in _convert_primitive_to_mesh
    self._convert_skin_to_usd(gltf_node, node_index, usd_parent_node, mesh)
  File "gltf2usd.py", line 687, in _convert_skin_to_usd
    skeleton.CreateBindTransformsAttr().Set(bind_matrices)
AttributeError: 'Skeleton' object has no attribute 'CreateBindTransformsAttr'

Index out of range errors

I've notice a number of times I've got index out of range errors.

in the most recent case it occurred inside of def _store_joint_animations

I add the following exception handling. I think it was happening because the models had several bone branches (rather complex bone animation).

Anyway I modified the following code which at least enabled the usda file to build. The usda animation still won't run! But the usda file itself at least builds with the correct mesh & materials.

try:
       scale[0] = skeleton_joint.GetRestTransformsAttr().Get()[joint_index].GetRow3(0).GetLength()
       scale[1] = skeleton_joint.GetRestTransformsAttr().Get()[joint_index].GetRow3(1).GetLength()
       scale[2] = skeleton_joint.GetRestTransformsAttr().Get()[joint_index].GetRow3(2).GetLength()
               
except IndexError:
                   return

I'm guessing the command tool will need a bit more error handling for it to function more smoothly with the large variations or cases it would encounter.

Questions on embedded GLTF PBR Texture

Just now, I exported GLTF material from Blender, and during conversion, I am getting this error:

Traceback (most recent call last):
  File "gltf2usd.py", line 1126, in <module>
    convert_to_usd(args.gltf_file, args.usd_file, args.fps, args.scale, args.verbose)
  File "gltf2usd.py", line 1114, in convert_to_usd
    GLTF2USD(gltf_file=gltf_file, usd_file=usd_file, fps=fps, scale=scale, verbose=verbose)
  File "gltf2usd.py", line 70, in __init__
    self.convert()
  File "gltf2usd.py", line 1099, in convert
    self._convert_materials_to_preview_surface()
  File "gltf2usd.py", line 482, in _convert_materials_to_preview_surface
    primvar_st1_output=primvar_st1_output
  File "gltf2usd.py", line 1074, in _convert_texture_to_usd
    texture_name = self.unpack_textures_to_grayscale_images(image_name, color_components)
  File "gltf2usd.py", line 1035, in unpack_textures_to_grayscale_images
    raise Exception('Unsupported image type!: {}'.format(img.mode))
Exception: Unsupported image type!: RGBA

So far, I have tested 3D GLTF from Sketchfab only and never had issue. Only today I am setting up the shader based on GLTF Blend example. Then I exported the object and getting an error. It does not seem to like RGBA, maybe I should change it to JPG?

screen shot 2018-09-05 at 1 01 18 pm

Previous tentacle animation does not work anymore after the updates

Not sure what's going on... but seems like there GLTF2USD converter has made changes in hiearchy, where I used to just delete "Armature/" and animation works on both MacOS and iOS.

Today when I tried again, the animation works on MacOS, but not on iOS ๐Ÿ˜ž

This is USDA I kept from the past, works for both MacOS and iOS:
screen shot 2018-09-14 at 7 37 54 am

This is USDA being produced by latest update:
screen shot 2018-09-14 at 7 38 06 am

Hierachy is now different, and I could not just delete "/Armature" ...

Strange Rendering Issue

I am having trouble figuring out why this USDZ file (I used gltf2usd to make a USDA, then zip'd with usdzip) is rendering incorrectly. Using usdview I'm getting a fully black model, and when I try to open it with iOS 12 Beta 9, the model is tiny and invisible. I've combed through the Materials and they seem fine, as do the Meshes. I'm fairly new to USD so I'm not sure where else to look. Is there a better way to check the model's textures?

Here is the original gltf:
carrothead.gltf.zip.txt

And here is the generated USD file:
carrothead.usdz.txt

Working with both COLLADA2GLTF & FBX2glTF

@kcoley @ox

Given this is a command line tool, it makes sense for it to work well with other 3D filetype command line tools.
These command line tools convert DAE & FBX -> GLTF 2.0
COLLADA2GLTF & FBX2GLTF

This tool can then convert the GLTF 2.0 -> USD & USDZ.

If you can get this tool to do that flawlessly, that would be a powerful tool! I think that is a really good goal to go for. What do you guys think?

It would be nice to document the known issues with each of these tool using standard models, as a way to iron out all the issues.

Material not rendering with some Animations models

Has anyone else successfully assigned materials or solid colors to multiple faces incorporating animations?

So you might have a single mesh broken into mulitple faces, like animating a dinosaur, separate material assignment for say the eyes, body & claws. So 3 separate png files will be in the usdz archive each assigned to 3 different faces.

I have successfully created several animations incorporating animations with only 1 material assignment for single mesh. All my posted bone animations on fusionar gallery were built with only one material assignment for a single mesh.

Note: For models that don't have any animations material assignment is working fine. It only seems to happen with models that incorporate animation.

I had a look at the usda file.... it seems to have

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.