Sim Dad: Leaf Blowing and Beyond

I thought it would be fun to make a virtual leaf blower, applying force to a smattering of rigidbodies when they’re within range. It’s too many objects to sync across the network so I’m imagining that everyone just gets their own local shapes to play with. Maybe we could sync a handful of them with a special color or size to enable some interaction with multiple leaf blowers.


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

In order to turn this action on and off, I created a LeafBlower GameObject with a VRC Pickup on it, and put the above graph on a child. The main object gets this super simple graph:

ANWV22rbQBCGX8XstTbsSdqVwBdtk4ZQaAKJfVOM2cM4qFFWRgenxsmT9SKP1FfoKj7QRqExbQIpEmJ3pZ2Z/5uZ1Y/v9yu00EULKPuyQrO2KD7r6zBBI583yyN/mXs4Diun5ivY5mA6PYfmnW3yBYThsm7g+n1ZFqD9djouc4ci1IZnhiS3jvLUYKO5wEKnMVZSKCwJYcYlLrFKhY/nZZ03eelRtkLfUBYTcUAitESZCoO7CPnSwejksA4xIuKo5KAVpoqmWBgtseaUYkWJlAkAZQm7JcEomkRoVpQ3m42TtZlxp7V+ENt2Cte6xmsCK5T7utHewskhyjrPdVPl/nLzGqG76O+2TbqNv8A9WoBvpqf+LLdX7XxUw2i+YyYYxJQ6i5VKJRaJ41iJoFK4FDi3MyAG+sw4ZRtmlLPH0H4nsV9WHvN6VsJheeN3ImJrFSeQBps6uJDWYWWDn4QAYyKOjeGyL4IptRGBhXpGBEu0ZaljmApDAhwjQgnEDM+s0oTEzBHrnhXxIkW+VyR/KPIntP6PVb4mc7AhFQ2ua1tWRW6iwRiqOggfBsHdFQ0+tEXTVjD00DaVLqLBWWuK3H6C5UV5BX5opNSxjROacgFEpbcXVXDR66KxrnJtCpg+mcZdfqyRMUu5xTPgCgtuAafcGJzEmmsXpipJ+vkhm+yQXm466rv7reE/f1h8WfomCITqzZbFmwvroy7qf4zrNdLoS/9EEx1DM9020q5l9jl++i1D0+0/iCf9rnn5TnlFVnudGYHl5O4n
5 Likes

I’m concerned!

It’s cool, but there’s an open issue with Physics Objects syncing via the various Add Force methods. We’re OK at syncing things that move via a collision or a user interaction, but applying force via non-collision and non-interaction doesn’t transfer ownership; and so, if you do not own the objects that you are making move there will be a desync.

I plan on fixing this sometime soon, but I believe it’s worth noting that the person using the blower should take ownership of all the objects its blowing.

1 Like

Thanks for the insight, @danly. It sounds like maybe I could hack around this by emitting colliders from the leaf blower instead of spherecasting, but I’m also just assuming that most of this fun blowing-things-around is only happening per-player. I’ll admit I thought about the fun of the interaction before considering the network implications for this first Udon experiment.

What about: on-pickup, take ownership of all the cubes.

1 Like

I like it - do you think this number of cubes is too much to network sync? It’s about 50 right now, any idea what a sane number would be?

Hello, you can learn more about what components are needed and with what settings for raycast, it was not possible to run your project. You also need something on physical objects?

Hello, @dygdyg- the objects themselves need rigidbodies on them. For performance, I limited the raycast to the layer that my blocks are on, using a LayerMask on the Physics Spherecast.