Particle Editing Bug On Multiple ParticleEmitters

When I try to edit the properties of all particles at once, it will not work when clicking the button to edit using the keyframe editor? (Not sure what the name is)

The window will not pop up. It works with a single object.

4 Likes

Can confirm this happened to me as well when editing particles. Thanks for reporting it!

An admin said in the past that this was by design.

EDIT: here we go: Not able to set multiple properties in ParticleEmitters when more than one is selected

So if you want this behaviour consider making a post about it in Feature Requests > Studio Features.

I confirm that’s by design, primarily as there’s no sensible starting value for the curve editor if you are multi-editing.

Would it be possible to make it work for exclusive cases, such as if it is clear that all particles have the exact same sequence for that property?

2 Likes

“Exact same” is hard for floating-point numbers.

1 Like

@maxvee @buildthomas The spline editor should just use the data from the first ParticleEmitter in the selection. If they’re all the “same” then this is correct behavior, and if they’re not the same, well we don’t care about what the current values of the other ones are because we’re wanting to overwrite them with something new, and the first one in the selection is a good starting point for manipulating the rest. This would also enable people to pick what the spline editor is pulling from by changing their selection, kind of like how we can determine the bounding box of a union by changing the order of our selection.

1 Like

That wouldn’t work. Currently, the sequence editor is modeless, and you can pull up several of those at the same time. It’s by design, so that you can actually tweak different parameters on possibly different emitters at the same time, and immediately see the results in the scene, without dismissing the dialogs.

The selection here is irrelevant, as the editor is bound to a particular property of a particular [particle:)] emitter at the time you press “…” to allow that.

2 Likes

The way ParticleEmitters are modified is the problem. OP wants to be able to configure particles one way but is prohibited from doing so by the current behavior. I’m not sure why we’re discussing “this isn’t possible because of the current behavior” – we know that already because that’s the root of the problem.

If this is an issue of “to fix the problem we have to remove an equally-important feature (multie spline windows)”, then the change just needs to be made tactically. Don’t remove multiple spline windows – instead, make a smaller change where the … passes the spline editor all emitters in the current selection, the spline editor behaves as if only one is selected (current behavior) but syncs the extra emitters’ property value to the first one’s. To avoid conflicts where multiple spline editors are trying to sync to a single emitter, disconnect any existing sync tied to an emitter prior to adding it to another spline window.

1 Like

First, there are quite a few nasty corner cases there. E.g. the moment you click […] on multiple sequences is going to immediately modify all of them, and you won’t be able to use the Reset button to reset them to their individual previous values, because the sequences will be synced and the reset values will be immediately overridden by the sync. On top of that, having several editors affecting several sets of curves with no clear indication of what they’re affecting is going to be mind blowing.

Second, unfortunately, what you are proposing is currently not compatible with the instance/property/editor interaction framework we have in Studio code. It is fairly complex to be worth implementing, considering that the benefits are not all that great.

Even the current modeless implementation is somewhat hacky and is skirting some of the internal design guidelines we have, for the sake of interactive feedback.

1 Like

That makes sense. In my situation they are all the same value and I want to toy with them as a group.

Perhaps a warning popup that says “all values will be set to the first selected object value” if you attempt to use multiple? I’m not sure if enough people do this to warrant a fix, but by the looks of this thread several devs have encountered this.

To get around it I copied and pasted the object afterwards, which wasn’t fun but I only had to do it for 4 objects.

A useful plugin could be made to sort of work around this. Like replace selected with X or replace descendants of matching classname with X. Could be useful for decals/textures too. I may add it to my to do list, but I doubt I’ll get to it soon.

1 Like

Yeah, it’s honestly easier to take this approach. In circumstances like these, it’s awkward to implement this kind of thing, so it’s often a lot easier for users to make plugins.