Hello,
Using rbdbulletsolver with multiple colliders that each have different initial velocities and different start frames. So one collider drops down into a floor at a certain frame and another shoots up from below at a different frame.
Keyframing the Active to Add Velocity from 0-x in a PointVeloicty node on the collider doest seem to work. Looks like everything is evaluated at Frame 1 and everything else is ignored for velocity.
Im assuming the velocity needs to be set in a wrangle inside the solver, but dont know a way to specify each collider with a wrangle inside the solver.
Any ideas?
RBD Bullet Solver Collider Initial Velocity Start Frame
3943 5 1-
- ironsightdesign
- Member
- 27 posts
- Joined: April 2020
- Offline
-
- Enivob
- Member
- 2657 posts
- Joined: June 2008
- Offline
Have you set your collider to a deforming object? Even if the topology is not deforming, a collider in motion is considered deforming. Also, check the Inherit Transform box if you have animated the collider at the top level transform.
Edited by Enivob - Aug. 9, 2023 15:24:42
Using Houdini Indie 20.5
Windows 11 64GB Ryzen 16 core.
nVidia 3060RTX 12BG RAM.
Windows 11 64GB Ryzen 16 core.
nVidia 3060RTX 12BG RAM.
-
- npetit
- Staff
- 443 posts
- Joined: Feb. 2008
- Offline
The RBD Bullet Solver provides a handy way to know when an object has been activated for cases like this, so you don't need to make non-deforming RBDs deforming to avoid unnecessary costs.
In the Output tab, under Attributes, enable the Age Attribute, enable the Add Active Age, give the Just Activated group a name. Dive inside the RBD Bullet Solver and add a geometry wrangle, set its group to use the just activated group and read the velocity from the first input's corresponding point.
Here's a hipfile that shows this in action.
In the Output tab, under Attributes, enable the Age Attribute, enable the Add Active Age, give the Just Activated group a name. Dive inside the RBD Bullet Solver and add a geometry wrangle, set its group to use the just activated group and read the velocity from the first input's corresponding point.
Here's a hipfile that shows this in action.
-
- Enivob
- Member
- 2657 posts
- Joined: June 2008
- Offline
That's nice, kind of like a C4D effector type approach.
It also looks like you can directly assign packed primitives to the __static_grp for more precise control on any given frame.
It also looks like you can directly assign packed primitives to the __static_grp for more precise control on any given frame.
if(@ptnum==5){ // Make cube six jump on frame 48. if(@Frame>=48){ i@group___static_grp = 1; } }
Edited by Enivob - Aug. 11, 2023 09:04:52
Using Houdini Indie 20.5
Windows 11 64GB Ryzen 16 core.
nVidia 3060RTX 12BG RAM.
Windows 11 64GB Ryzen 16 core.
nVidia 3060RTX 12BG RAM.
-
- tamte
- Member
- 9236 posts
- Joined: July 2007
- Online
Enivobyou could as long as you make sure that on Rbdconfigure Active is checked and set to 1 and it's Bounds is checked
I also looks like you can directly assign packed primitives to the __static_grp for more precise control on any given frame.
(and as long as you are aware what are the internal implications of using __static_grp)
less confusing and more direct way would be to directly set i@active = 1 yourself and either uncheck it in rbd configure
or just use such wrangle below Rbdconfigure to override specific pieces from their configured value
Edited by tamte - Aug. 10, 2023 12:01:50
Tomas Slancik
CG Supervisor
Framestore, NY
CG Supervisor
Framestore, NY
-
- ironsightdesign
- Member
- 27 posts
- Joined: April 2020
- Offline
-
- Quick Links