Kinefx rig pose error. Bad/Corrupt install or?

   3212   9   1
User Avatar
Member
8 posts
Joined: Feb. 2017
Offline
Was initially piggybacking on another Kinefx rig pose thread, but figure I'll post here now that I'm seeing the same error on a clean scene without all the variables of my 18.5 rig setup involved.


Not sure if my kinefx__rigpose python state file has issues or this is a known issue with 19.0.383?
Edited by blakebeynon - Nov. 22, 2021 10:07:40

Attachments:
rigposeError.gif (1.5 MB)

User Avatar
Member
646 posts
Joined: July 2013
Offline
You are not passing a rig to the RigDoctor. Put a Skeleton node between the Line and RigDoctor and that should create a rig that RigDoctor recognizes.
Houdini Indie
Karma/Redshift 3D
User Avatar
Member
8 posts
Joined: Feb. 2017
Offline
Rig doctor will initialize transforms for the points on a line and this is all Kinefx needs to be 'Kinefx'ed" as far as I know. Adding a skeleton in between the line and the rig doctor does not stop the same error from popping up. It seems to be more related to the python state.
User Avatar
Member
1803 posts
Joined: May 2006
Offline
Those more fundamental python errors often point to py2/py3 conflicts, or python library issues. Are you running any custom python stuff on your machine? Done the test temporarily clearing out your prefs, make sure there's nothing odd in your PYTHONPATH envvars?
http://www.tokeru.com/cgwiki [www.tokeru.com]
https://www.patreon.com/mattestela [www.patreon.com]
User Avatar
Member
8 posts
Joined: Feb. 2017
Offline
I did try trashing the prefs and launching outside our pipeline.. Didn't see anything out of the ordinary in the PYTHONPATH, but I suppose I'll need to check with our pipeline folks. Seems to be python 2.7.15 from what I can see.
User Avatar
Member
8 posts
Joined: Feb. 2017
Offline
Was poking around in the .py files to see where the error is triggering, and I can see where if there is not a list of KinefxSelection objects in self._selections when the KinefxMultiSelection is initialized. It'll try calling a .clear() on an empty list and that seems to be the error I'm getting.

class KinefxMultiSelection(object):
    def __init__(self):
        self._selections = []
        self._active_index = None

    def __getitem__(self, key):
        return self._selections[key]

    def __iter__(self):
        return iter(self._selections)

    def append(self, sel):
        if not isinstance(sel, KinefxSelection):
            raise TypeError("{} is not a KinefxSelection object".format(sel))
        self._selections.append(sel)

    def clear(self):
        # this class maintains the selection, so clear them individually
        # so that any other references also get emptied
        for s in self._selections:
            s.clear()
        self._selections.clear()
User Avatar
Member
8 posts
Joined: Feb. 2017
Offline
After some poking around, I'm realizing Houdini 19 ships using Python 3 by default. Looks like I've installed the Python 2.7 version. Guessing legacy Houdini stuff works in the Python 2.7, but stuff that is getting overhauled or is relatively new ( KineFX ) will have some incompatibilities with 2.7?
User Avatar
Member
1803 posts
Joined: May 2006
Offline
It should work fine in both builds, from a clean scene, assuming you're working in a clean environment. If your studio has existing python pipeline, you'll HAVE to use the compatible 2.7/3.0 build, or you'll get the kind of errors you describe.
http://www.tokeru.com/cgwiki [www.tokeru.com]
https://www.patreon.com/mattestela [www.patreon.com]
User Avatar
Member
10 posts
Joined: June 2015
Offline
Did you try using the latest daily build? I was having this error in python 2 build of 19.0.383 but has since been fixed
Edited by johnp - Nov. 29, 2021 16:28:27
User Avatar
Member
8 posts
Joined: Feb. 2017
Offline
So this ended up being resolved with both a daily build update as well as a production build using python 3. Seems like there's likely more folks than just me that might want to stay production build only and still have python 2 compatibility?
  • Quick Links