I am trying to learn custom properties, but evidently, they do not work like I thought. In the attached screen pic I have set the custom property (bktDigging) value to 0 at the beginning of the event, then there is a test to see if the single particle in this event is touching another object, and if so, it is supposed to increment the property, which is a float. So, I would expect the value to be incremented to 1 when the particle makes contact with the object. However, it is not working, as the value still stays at 0. I tested the surface operator by using the send out event option and verified the operator is firing when the particle comes in contact with the object, but it will not set the value of the custom property. What am I missing?
Here is a sample scene to expand on what I am after. I got the previous collision part worked out by using a different operator. However, I am having an issue with referencing the value of a custom property in another event. I have not yet found a good explanation of Set Target, so perhaps I am using it wrong.
There are 2 things I want to accomplish in this setup: 1) Reset the value of the custom float property when it is no longer colliding, 2) and read the custom float property in event 002 in order to toggle on/off PhysX.
For (1), there are collision tests in tyFlow, as you've discovered, but not really an "is-colliding" test that will return false when no collisions are happening...also, a further quirk of PhysX/tyFlow is that the collision test will return true when a collision first occurs between a pair of colliders, but not necessarily for all successive frames where the collision is sustained. So you could, for example, put a Custom Properties operator above the PhysX Collision operator, set its timing to continuous, and have it reset the bktDigging value each frame...and you'll see that bktDigging will then have a value of 1 on any frame where the collision between the box and the colliders *begins*, but not necessarily on all frames where the collision is sustained (ie, is happening but began on a prior frame).
I don't really understand what you want to accomplish with (2).
01-13-2026, 01:13 PM (This post was last modified: 01-13-2026, 01:15 PM by leejk.)
Hello. So, I think I sort of got it working in this test scene. It does what I want by disabling the PhysX particles when the box is colliding. I had to create a loop so that the bktDigging channel value would get reset when it was not colliding. But when I apply the same setup to my main scene, it is not working, and I do not see why. It seems that in the Ditch Particles event that the Set Target is not working correctly for some reason, as the value of bktDigging in that event never goes above 0. Based on what I have implemented in the attached test scene, can you speculate what may be wrong in my main scene from the graph?
I figured out my problem, the birth operator needed to be set to frame 0 in the Bucket Volume Birth event. Not sure why the event priority was not enough.
The issue now though is that the particles in the Ditch Particles event do not behave as expected. The PhysX Switch operator has a filter on it that restricts the operator from activating unless the bktDigging custom property is equal to 0. That works, but once the particles in that event are switched to kinematic, they do not respond to being switched back to dynamic as expected. Could this be due to PhysX Bind?