Rigscript Component vs Autorig Component?
888 5 2- raincole
- Member
- 539 posts
- Joined: 8月 2019
- Offline
- edward
- Member
- 7868 posts
- Joined: 7月 2005
- Offline
The APEX Autorig Component applies the component to your rig immediately. The APEX Rigscript Component instead records the components you've added into a single "recipe". And then you can apply that full recipe to your character. It's intended for more production workflows where you have built up your rig and want to apply to many characters.
- esttri
- スタッフ
- 78 posts
- Joined: 5月 2021
- Offline
- raincole
- Member
- 539 posts
- Joined: 8月 2019
- Offline
esttri
The spider example in the content library uses the rigscript components and you can see it a bit more in action and there should be a few notes in there about what exactly it does and why we use it. I hope that helps
Thanks esttri. The spider example is very cool. It's clear why it use Rigscript Component there.
However it also raises a lot of questions regarding the function naming convention in APEX script.
For example:
main_rot = main_xform.convert_Matrix4_Matrix3_()
How could a user know this function name? How does SideFX expect us to find out this?
The example in document [www.sidefx.com]:
geo.setPrimAttribValue_String(prim, 'name', 'test')
How are we supposed to know "convert_Matrix4_Matrix3_" needs a trailing underscore, while "setPrimAttribValue_String" doesn't?
Edited by raincole - 2024年7月13日 09:33:52
- esttri
- スタッフ
- 78 posts
- Joined: 5月 2021
- Offline
The underscores are related to templates nodes in APEX aka all the nodes that look like nodename<Float> for example. Apex always wants to know on what kind of data you operate on because its a fixed type system. In apex script we can usually figure out that type based on what you are doing. If the type can not be figured out you need to give it a hint.
sois then the same as When you look at a graph with NODES. So the underscore is the absolute bare bone fallback option, when we really have nothing to work with to figure out what the type should be. Ideally you need to use it almost never. Another and much more pythonic way of giving a type hint is
The daily build that is about to come out will handle a lot more of those cases automatically for you btw.
Soshould do the trick then. Yay.
The convert case is one of the few functions that actually does not just need one but 2 types. Which makes it much trickier to automatically fetch. We can look into a more specialized handing for that one. the trailing underscore is also an inconsistency that we can look into.
so
nodename_Float()
nodename<Float>
nodename(valuetype=Float)
The daily build that is about to come out will handle a lot more of those cases automatically for you btw.
So
geo.setPrimAttribValue(prim, 'name', 'test')
The convert case is one of the few functions that actually does not just need one but 2 types. Which makes it much trickier to automatically fetch. We can look into a more specialized handing for that one. the trailing underscore is also an inconsistency that we can look into.
- raincole
- Member
- 539 posts
- Joined: 8月 2019
- Offline
-
- Quick Links