Jump to content
Sign in to follow this  
gotfroi

Autorig to custom model

Recommended Posts

I've been watching this masterclass 

 

One thing it doesn't make clear is - this Tommy asset is already the perfect/size/pose for the "auto" rig? I follow the instructions with my own geometry character and the autorig does not follow the geometry at all. It's close, because I'm working real world scale. If auto rig tools can't find the skin of the geo and have to be tweaked individually, this should be reflected in the tutorial rather than showing a perfect rig with no adjusting.

Share this post


Link to post
Share on other sites

"I can change these parameters here which reflect these objects here" - that is the sum total of explanation on how to adjust the rig in this half -hour video.

Share this post


Link to post
Share on other sites

After carefully adjusting the auto rig, something happened where the rig became disconnected from the python interface and I can't get it back because I didn't save it to a specific external file. I only chose "save" which I assume embeds the connection. Lost my work.

Share this post


Link to post
Share on other sites

DId the work again, saved to JSON and autorig fails on generate, geometry not captured, and I am unable to reconnect the rig to the JSON file. Something is amiss. 

Share this post


Link to post
Share on other sites

When I triy to load existing asset I keep getting this

Traceback (most recent call last):
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiMenuBar.py", line 290, in _loadFromUnbuiltHDA
    self.loadFromNodePath(nodepath)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiMenuBar.py", line 305, in loadFromNodePath
    self.charactertabs.existingCharacter(selectednode, jsonobj)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiCharacterTabs.py", line 39, in existingCharacter
    autorigs_asset.existingFromJson(assetnode, json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\asset\autoRigsAsset.py", line 194, in existingFromJson
    module.buildAfterImport(jsonmodules)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 121, in buildAfterImport
    self.guidetab.buildFromJson(json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 218, in buildFromJson
    self.paramswidget.fromJSON(json['guideparams'])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\extremity\extremityGuideParams.py", line 492, in fromJSON
    json[self.JSON_FULL][jsonlabels[UiParamFactory.SIZE]])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiParamNum.py", line 96, in setValues
    if len(self.params) != len(values):
TypeError: object of type 'float' has no len()
Traceback (most recent call last):
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiMenuBar.py", line 290, in _loadFromUnbuiltHDA
    self.loadFromNodePath(nodepath)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiMenuBar.py", line 305, in loadFromNodePath
    self.charactertabs.existingCharacter(selectednode, jsonobj)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiCharacterTabs.py", line 39, in existingCharacter
    autorigs_asset.existingFromJson(assetnode, json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\asset\autoRigsAsset.py", line 194, in existingFromJson
    module.buildAfterImport(jsonmodules)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 121, in buildAfterImport
    self.guidetab.buildFromJson(json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 218, in buildFromJson
    self.paramswidget.fromJSON(json['guideparams'])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\extremity\extremityGuideParams.py", line 492, in fromJSON
    json[self.JSON_FULL][jsonlabels[UiParamFactory.SIZE]])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiParamNum.py", line 96, in setValues
    if len(self.params) != len(values):
TypeError: object of type 'float' has no len()
Traceback (most recent call last):
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiMenuBar.py", line 290, in _loadFromUnbuiltHDA
    self.loadFromNodePath(nodepath)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiMenuBar.py", line 305, in loadFromNodePath
    self.charactertabs.existingCharacter(selectednode, jsonobj)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiCharacterTabs.py", line 39, in existingCharacter
    autorigs_asset.existingFromJson(assetnode, json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\asset\autoRigsAsset.py", line 194, in existingFromJson
    module.buildAfterImport(jsonmodules)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 121, in buildAfterImport
    self.guidetab.buildFromJson(json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 218, in buildFromJson
    self.paramswidget.fromJSON(json['guideparams'])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\extremity\extremityGuideParams.py", line 492, in fromJSON
    json[self.JSON_FULL][jsonlabels[UiParamFactory.SIZE]])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiParamNum.py", line 96, in setValues
    if len(self.params) != len(values):
TypeError: object of type 'float' has no len()
Traceback (most recent call last):
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiMenuBar.py", line 224, in _loadFromFile
    jsonobj, create_values)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiCharacterTabs.py", line 46, in newFromJsonCharacter
    autorigs_asset.newFromJson(json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\asset\autoRigsAsset.py", line 218, in newFromJson
    module.buildAfterImport(jsonmodules)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 121, in buildAfterImport
    self.guidetab.buildFromJson(json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 218, in buildFromJson
    self.paramswidget.fromJSON(json['guideparams'])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\extremity\extremityGuideParams.py", line 492, in fromJSON
    json[self.JSON_FULL][jsonlabels[UiParamFactory.SIZE]])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiParamNum.py", line 96, in setValues
    if len(self.params) != len(values):
TypeError: object of type 'float' has no len()
Traceback (most recent call last):
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiMenuBar.py", line 224, in _loadFromFile
    jsonobj, create_values)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiCharacterTabs.py", line 46, in newFromJsonCharacter
    autorigs_asset.newFromJson(json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\asset\autoRigsAsset.py", line 218, in newFromJson
    module.buildAfterImport(jsonmodules)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 121, in buildAfterImport
    self.guidetab.buildFromJson(json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 218, in buildFromJson
    self.paramswidget.fromJSON(json['guideparams'])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\extremity\extremityGuideParams.py", line 492, in fromJSON
    json[self.JSON_FULL][jsonlabels[UiParamFactory.SIZE]])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiParamNum.py", line 96, in setValues
    if len(self.params) != len(values):
TypeError: object of type 'float' has no len()
Traceback (most recent call last):
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiMenuBar.py", line 290, in _loadFromUnbuiltHDA
    self.loadFromNodePath(nodepath)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiMenuBar.py", line 305, in loadFromNodePath
    self.charactertabs.existingCharacter(selectednode, jsonobj)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiCharacterTabs.py", line 39, in existingCharacter
    autorigs_asset.existingFromJson(assetnode, json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\asset\autoRigsAsset.py", line 194, in existingFromJson
    module.buildAfterImport(jsonmodules)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 121, in buildAfterImport
    self.guidetab.buildFromJson(json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 218, in buildFromJson
    self.paramswidget.fromJSON(json['guideparams'])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\extremity\extremityGuideParams.py", line 492, in fromJSON
    json[self.JSON_FULL][jsonlabels[UiParamFactory.SIZE]])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiParamNum.py", line 96, in setValues
    if len(self.params) != len(values):
TypeError: object of type 'float' has no len()
Traceback (most recent call last):
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiMenuBar.py", line 290, in _loadFromUnbuiltHDA
    self.loadFromNodePath(nodepath)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiMenuBar.py", line 305, in loadFromNodePath
    self.charactertabs.existingCharacter(selectednode, jsonobj)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiCharacterTabs.py", line 39, in existingCharacter
    autorigs_asset.existingFromJson(assetnode, json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\asset\autoRigsAsset.py", line 194, in existingFromJson
    module.buildAfterImport(jsonmodules)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 121, in buildAfterImport
    self.guidetab.buildFromJson(json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 218, in buildFromJson
    self.paramswidget.fromJSON(json['guideparams'])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\extremity\extremityGuideParams.py", line 492, in fromJSON
    json[self.JSON_FULL][jsonlabels[UiParamFactory.SIZE]])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiParamNum.py", line 96, in setValues
    if len(self.params) != len(values):
TypeError: object of type 'float' has no len()
Traceback (most recent call last):
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiMenuBar.py", line 290, in _loadFromUnbuiltHDA
    self.loadFromNodePath(nodepath)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiMenuBar.py", line 305, in loadFromNodePath
    self.charactertabs.existingCharacter(selectednode, jsonobj)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiCharacterTabs.py", line 39, in existingCharacter
    autorigs_asset.existingFromJson(assetnode, json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\asset\autoRigsAsset.py", line 194, in existingFromJson
    module.buildAfterImport(jsonmodules)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 121, in buildAfterImport
    self.guidetab.buildFromJson(json)
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\base\rootModule.py", line 218, in buildFromJson
    self.paramswidget.fromJSON(json['guideparams'])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\modules\extremity\extremityGuideParams.py", line 492, in fromJSON
    json[self.JSON_FULL][jsonlabels[UiParamFactory.SIZE]])
  File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\autorigs\ui\uiParamNum.py", line 96, in setValues
    if len(self.params) != len(values):
TypeError: object of type 'float' has no len()
 

Share this post


Link to post
Share on other sites

It was a bug. Installed 17.0.416 and it started working again. Aye yiy yiy! That's a pretty big bug to let out into the wild.

Share this post


Link to post
Share on other sites

There is an additional problem with my geo intersecting and I get this mysterious message on my solidconform


Warning 
Input Error: intersecting segments.
Try the Detect Intersections Mode to find any issues with the input mesh, or try tweaking the Troubleshooting options.. 
 

I'll try and find out what this means as it's not readily apparent

 

Share this post


Link to post
Share on other sites

After much trial and error with solidconform, I realized that my models hair from makehuman uses intersecting planes in the hair that were breaking solidconform and not producing tets. I don't really need the hair for previz. Any way a long journey to get a fairly simple result that should be a default asset.

Share this post


Link to post
Share on other sites

image.png.538f379f9d5c93f48431824c2e6f69d4.png

If I don't click this button my rig will not deform the geo. I tried making it deform after the fact and gave up after an hour. Why would you make this an option? Why is it off by default? I'm going to "Auto" rig my character again for the third time from scratch. I'm at about 8.5 hours making this work "automatically".

Edited by gotfroi

Share this post


Link to post
Share on other sites

So many strange things in this tool. By default, the rigs chest does not follow the cog. I seem to recall there was squash/stretch options before that are gone. Seems like stretch in on by default. Again, why would anyone want this?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×