robmcrosby / BlenderUSDZ

Simple USDZ file exporter plugin for Blender3D
GNU General Public License v3.0
473 stars 66 forks source link

Trying to import robot.usdz from Body Capture #31

Open enzyme69 opened 4 years ago

enzyme69 commented 4 years ago

There are all kind of error reported when I tried to import USDZ, but I wonder if you can make this one work Basically I am curious on Apple's example Body Motion Capture and wanted to import the robot.usdz and using my own character.

https://developer.apple.com/documentation/arkit/capturing_body_motion_in_3d

Traceback (most recent call last):
  File "/Users/jimmygunawan/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/__init__.py", line 54, in execute
    return import_usdz.import_usdz(context, **keywords)
  File "/Users/jimmygunawan/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/import_usdz.py", line 34, in import_usdz
    usdData = crate.readUsd()
  File "/Users/jimmygunawan/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/crate_file.py", line 700, in readUsd
    index, jump = self.readUsdItem(data, index)
  File "/Users/jimmygunawan/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/crate_file.py", line 659, in readUsdItem
    index, itemJump = self.readUsdItem(prim, index)
  File "/Users/jimmygunawan/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/crate_file.py", line 659, in readUsdItem
    index, itemJump = self.readUsdItem(prim, index)
  File "/Users/jimmygunawan/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/crate_file.py", line 659, in readUsdItem
    index, itemJump = self.readUsdItem(prim, index)
  [Previous line repeated 3 more times]
  File "/Users/jimmygunawan/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/crate_file.py", line 664, in readUsdItem
    valueType = getValueTypeFromStr(valueTypeStr)
  File "/Users/jimmygunawan/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/value_types.py", line 172, in getValueTypeFromStr
    return ValueType[typeStr]
  File "/Applications/Blender.app/Contents/Resources/2.81/python/lib/python3.7/enum.py", line 352, in __getitem__
    return cls._member_map_[name]
KeyError: 'color4f'
robmcrosby commented 4 years ago

An update, after some updates to the script there is a new error when attempting to import robot.usdz. The import functionality is still not entirely implemented but, will keep this ticket open until the script can import robot.usdz.

Traceback (most recent call last): File "/Users/robertcrosby/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/__init__.py", line 54, in execute return import_usdz.import_usdz(context, **keywords) File "/Users/robertcrosby/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/import_usdz.py", line 38, in import_usdz importData(context, usdData, tempDir, materials, animations) File "/Users/robertcrosby/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/import_usdz.py", line 67, in importData addObject(context, object, materials, animated = animated) File "/Users/robertcrosby/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/import_usdz.py", line 288, in addObject addObject(context, child, materials, obj, animated) File "/Users/robertcrosby/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/import_usdz.py", line 288, in addObject addObject(context, child, materials, obj, animated) File "/Users/robertcrosby/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/import_usdz.py", line 288, in addObject addObject(context, child, materials, obj, animated) [Previous line repeated 1 more time] File "/Users/robertcrosby/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/import_usdz.py", line 269, in addObject applyBoneWeights(obj, mesh) File "/Users/robertcrosby/Library/Application Support/Blender/2.81/scripts/addons/io_scene_usdz/import_usdz.py", line 387, in applyBoneWeights obj.vertex_groups[bone].add([index], weight, 'REPLACE') IndexError: bpy_prop_collection[index]: index 0 out of range, size 0