I have keyframed the Strength of Glue constraints in an RBD Constraint Properties node and fed it in to a RBD Bullet Solver, but the keyframes are ignored.
Is there a way to change the Strength value over time?
Keyframing Glue strength not working
577 4 2-
- litote
- Member
- 255 posts
- Joined: 7月 2013
- オフライン
-
- tamte
- Member
- 9263 posts
- Joined: 7月 2007
- オフライン
-
- litote
- Member
- 255 posts
- Joined: 7月 2013
- オフライン
Thanks as always Thomas.
I assume that checking Override Attributes is supposed to ignore any incoming Strength value (from the RBD Constraint Properties node) but I find its value is still being used if it is a higher value. The only way I can get it to ignore it is to set its value to a lower strength like 1, then the Strength set in the RBD Bullet Solver is used. Am I getting it wrong (see image below of setup)? I notice the parameter for Strength is glue_strength (for Glue constraints) so I also included it in the field of attributes to overwrite:
https://ibb.co/8gB964qb [ibb.co]
I assume that checking Override Attributes is supposed to ignore any incoming Strength value (from the RBD Constraint Properties node) but I find its value is still being used if it is a higher value. The only way I can get it to ignore it is to set its value to a lower strength like 1, then the Strength set in the RBD Bullet Solver is used. Am I getting it wrong (see image below of setup)? I notice the parameter for Strength is glue_strength (for Glue constraints) so I also included it in the field of attributes to overwrite:
https://ibb.co/8gB964qb [ibb.co]
-
- npetit
- スタッフ
- 443 posts
- Joined: 2月 2008
- オフライン
The global constraint parameters (under Advanced > Constraints) set the base values for the constraints. The attributes on the constraint primitives are multipliers of those base values (except for some parameters where scaling the parm values doesn't make sense, i.e toggles, integers, and directions or axes). This is documented under each bullet constraint type.
By default the constraints are initialised with whatever attributes they have at the start of the sim. If you want to update those attribute, you need to enable "Override Attributes" and specify the attributes to update.
If you have a strength attrib value in the range 5,000-10,000 and then set the global glue strength to 1000, you now have constraints that have strength ranging from 5,000,000 to 10,000,000 (they'll be very hard to break) - the reason why all those global parm values default at 1 is so they have no effect on your constraint attributes by default as you can achieve much more plausible results by using the attribute values that vary across all the constraints, which is done easily using the RBD Constraint Properties SOP, rather than having them all set globally to the same values.
The attribute names to use in the Override Attributes string field refer to attributes on the constraint geometry - not parameter names. Generally, the attributes are specific to each constraint type and documented in the help for each bullet constraint type. The RBD Constraint Properties and RBD Cone Twist Constraint Properties SOPs set all those attributes up for you.
But you may want to update your own animated attribute that you want to use in a VEXpression or a SOP Solver during the sim to control localised breaking of constraints for example - a typical example would be to do an attrib transfer of Cd attrib and break or weaken some constraints when they turn red for example.
I hope that helps clarify things somewhat!
By default the constraints are initialised with whatever attributes they have at the start of the sim. If you want to update those attribute, you need to enable "Override Attributes" and specify the attributes to update.
If you have a strength attrib value in the range 5,000-10,000 and then set the global glue strength to 1000, you now have constraints that have strength ranging from 5,000,000 to 10,000,000 (they'll be very hard to break) - the reason why all those global parm values default at 1 is so they have no effect on your constraint attributes by default as you can achieve much more plausible results by using the attribute values that vary across all the constraints, which is done easily using the RBD Constraint Properties SOP, rather than having them all set globally to the same values.
The attribute names to use in the Override Attributes string field refer to attributes on the constraint geometry - not parameter names. Generally, the attributes are specific to each constraint type and documented in the help for each bullet constraint type. The RBD Constraint Properties and RBD Cone Twist Constraint Properties SOPs set all those attributes up for you.
But you may want to update your own animated attribute that you want to use in a VEXpression or a SOP Solver during the sim to control localised breaking of constraints for example - a typical example would be to do an attrib transfer of Cd attrib and break or weaken some constraints when they turn red for example.
I hope that helps clarify things somewhat!
-
- litote
- Member
- 255 posts
- Joined: 7月 2013
- オフライン
-
- Quick Links