Page MenuHome

Append Particle Settings doesn't append the collection properly
Closed, ResolvedPublic

Description

System Information
Operating system: Ubuntu 18.04.1
Graphics card: AMD RX 580 (8GB)

Blender Version
Broken: 2.80, 141c6073ca39, 2019-02-02

Short description of error


I saved a blend file named particles, as you can see in the image above it contains a collection called Particles that contains a cylinder, a cube and a sphere. i added a particles system to the plane and under the Render tab i added the collection "Particles" to be rendered.
The problem comes when i open another project and append the particle settings from the saved file:

As you can see from the picture it appended the cylinder, the cube, the sphere, but it appended also the plane with the particles, not only that, but also blender appended all into the main Collection of the scene.
I think it would make more sense to append the collection Particles with the 3 objects as a separate collection instead of appending all into the main collection that will cause errors (for example the plane having the name "Particles" as a collection in the render tab but in the scene there is no such collection because it wasn't appended)

Event Timeline

Philipp Oeser (lichtwerk) triaged this task as Needs Information from User priority.

Cannot reproduce exactly here.

For me the following happens:

  • In 2.8 appending Particle Settings will append the objects [adds them to the ], the collection as well (it is just not linked to the Scene Collection)
  • blender doesnt append the plane emitter though
  • this goes in line with what 2.79 did (also didnt append the emitter itself, but did so for the group)
  • so if you add a fresh emitter, choose the appended Particle Settings everything should work as expected [the Particles collection is already choosen in the Render tab and should be ready to go...]

So unless I am misunderstanding something here it doesnt look like a bug to me...
Please confirm the above is working for you and also give feedback whether the emitter also gets appended to your fresh file when appending just the particle settings...

Nope.. i tried again the same process, and it appends also the plane (emitter).
And when i save the file where i just appended the particles system, then close and reopen, here is what happens:


No particles in the plane and no collection chosen in the render tab of the particles settings.

Here is my testfile that I append from:

If I append T61141.blend/ParticleSettings/ParticleSettings no emitter gets appended, but the collections is set up for Render correctly

If something different happens for you, please upload your blendfile here so we can have a look...

I found the solution! I just did Reload Factory settings and tried again, and now it appends the objects and not the emitter.
But, Blender appended the 3 objects in the main collection, which is not good because if i now just add a Plane and add that appended particles system, save the file, quit and reopen, the collection is gone in the render tab of the particles system.
I think that appending a particles system would work better if the collection is appended not as fake user, but as a real, and most important, SEPARATE collection (if that makes sense).

Philipp Oeser (lichtwerk) raised the priority of this task from Needs Information from User to Confirmed, Medium.

Ah, can confirm the collection needs a user here [lost on reload].
Appending the dependent objects in their own collection [that is then linked to the Scene Collection is more of a design question, I guess]

Need to run now, but maybe @Bastien Montagne (mont29): knows right away about the zero-user-issue of the Render-collection being lost on reload?

One rule in Blender is that no object exists without being instantiated in one scene, so append/link do instantiate 'stray' objects into scene's master collection when needed, that is expected behavior.

The real issue here (besides the old one, that IDs with no users get lost on reload), is that psys is not a user of any of the objects or collections it is using. Would like to summon @Brecht Van Lommel (brecht)/@Sergey Sharybin (sergey)/@Campbell Barton (campbellbarton) here, in case one of them would know why? For objects I know this is supposed to be like that (because objects are always instantiated in at least one scene, etc.), but to me the collections case really makes no sense… Or do we want to treat collections as objects? I don’t think so…

@Bastien Montagne (mont29), I think it should be a user. For something like collision or effector collection it does not make as much sense, but for duplication a user makes sense.

@Brecht Van Lommel (brecht) thanks, but why not for collision etc? this is kind of same issue ultimately?

For collision the purpose is to identify which subset of objects in the same scene should interact with the physics system. I don't think it makes sense to bring those other objects along unless explicitly requested by the user. If you need another object to correctly render the particle system, that's different.

Eeeeh, ok… but thing is, linking will bring them along anyway, it follows all ID pointers unconditionally… Maybe we can accept to 'loose' them in that case, though.

This is a file with a particles system: note the grass strands are in a collection called "Bahiagrass":


Now i start a new project and appended the Particles Settings of that file:

The grass strands are appended, but you can see in the Outliner that they are in the wrong collection (the main collection).
I would like, as a user perspective, to see them appended in their own collection named "Bahiagrass".
In fact if i now add the appended particles system to an object (for example the cube you see there), the particles are visible in the cube since the collection called "Bahiagrass" is there in the blender data (maybe).

From a user perspective, it seems all fine, well, here is the second issue: if i now save the blend file, close, and re-open it, this is the result:

There is no Instance Collection in the Render tab of the Particles Settings panel.

confirm. the appended collection wich comes with appended particles settings disapears after saving the new created file. but, as a quick solution, in the new file we can create a collection especially for appended stuff. append the particles settings into it. set the particles to the object and change from appended collection to new created collection in render tab.

Thank you guys!! I was really needing it!