If there are more than 20 rigposes, the selection will be bl

   1461   4   0
User Avatar
Member
28 posts
Joined: May 2022
Offline
Once the number of bones selected by rigpose exceeds 20, it will get stuck for a while when selecting bones. With the increase of the number of bones, it will become more and more serious. How can I solve it, or what I don't know?

Attachments:
QQ截图20230131125326.jpg (27.1 KB)

User Avatar
Member
48 posts
Joined: Aug. 2017
Offline
this is a RFE I reported to sidefx a while ago. (ticket BUG #125147)

the workaround for me was to put the rigpose in an hda an only expose the bone I wish to control as parameter.
I checked the rigpose python code for a while and it turn out something just constantly refresh the parameter of the rigpose which create the slowness when there is a bunch of them, using an HDA prevent that refresh from happening (as long as it locked).
Edited by SciTheSqrl - Jan. 31, 2023 05:54:05
User Avatar
Member
28 posts
Joined: May 2022
Offline
SciTheSqrl
this is a RFE I reported to sidefx a while ago. (ticket BUG #125147)

the workaround for me was to put the rigpose in an hda an only expose the bone I wish to control as parameter.
I checked the rigpose python code for a while and it turn out something just constantly refresh the parameter of the rigpose which create the slowness when there is a bunch of them, using an HDA prevent that refresh from happening (as long as it locked).


This doesn't seem to be a good solution,

When promoted to another node, there is no handle to the operation

Do you know how to handle it?
User Avatar
Member
48 posts
Joined: Aug. 2017
Offline
you need to expose the rigpose's state to your hda

in your hda type properties, in the node tab, you have a 'default state' you set it to 'kinefx__rigpose' and your hda will should behave like a rigpose. it took me a bit of practice and experimentation, but you can create pretty powerfull rigging node. if you study how it work.

the kinefx_rigpose state will analyze the content of your hda and will find any rigpose that is inside, which mean you can have multiple of them in a chain, but you'll only be able to manipulate bone that have certain of their transform attribute exposed on top of your hda (which do mean you loose the ability of the rigpose to automatically generate parameter).

it would be hard to explain everything that is possible, most of houdini tutorial about kinefx only expose the top of the iceberg, and anything deeper involve customizing and understanding of the rigpose python state.
User Avatar
Member
28 posts
Joined: May 2022
Offline
科学数据库
you need to expose the rigpose's state to your hda

in your hda type properties, in the node tab, you have a 'default state' you set it to 'kinefx__rigpose' and your hda will should behave like a rigpose. it took me a bit of practice and experimentation, but you can create pretty powerfull rigging node. if you study how it work.

the kinefx_rigpose state will analyze the content of your hda and will find any rigpose that is inside, which mean you can have multiple of them in a chain, but you'll only be able to manipulate bone that have certain of their transform attribute exposed on top of your hda (which do mean you loose the ability of the rigpose to automatically generate parameter).

it would be hard to explain everything that is possible, most of houdini tutorial about kinefx only expose the top of the iceberg, and anything deeper involve customizing and understanding of the rigpose python state.

Thank you very much
  • Quick Links