-
Notifications
You must be signed in to change notification settings - Fork 6
Added Bone Extraction Mode: Expression #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 3.3x_regenerate
Are you sure you want to change the base?
Added Bone Extraction Mode: Expression #3
Conversation
Each bone is extracted if the expression returns `True`. Each bone is accessible in the expression by the var `bone`. TODO: compile the expression once and use the bytecode with `eval(bytecode, ...)`
|
Interesting contribution! I will take some time to review the code and test the feature, hopefully it will be a good addition to Game Rig Tools |
extract mode cases are handled once, not once per iteration custom expression is compiled once, not once per iteration
|
For the last commit a8414a8
|
|
I will need some time to check if this is safe eval seems to have some security risk, I will need some time to research if this is ok to add |
|
If there is a security risk its that you can use python within blender. Blender also uses expressions for drivers. They evaluate the python code from C++, but that does not really matter. |
|
Fair Point, I will do some testing and if it works will I will merge it |
|
Dont merge what you dont understand. Dont feel pressured to add this before you are comfortable with the changes. |
|
Sry, for another addition: (You can see where rigify is located on your hard drive if you go to the preferences -> addons -> rigify -> File: ...)
The above still applies - if you dont feel comfortable with the change im fine with that. |
|
I think it would be a good addition, I will merge it, but I will take some time to study it |


Each bone is extracted if the expression returns
True.Each bone is accessible in the expression by the var
bone.eval(bytecode, ...)