Geo-Scatter - 5.4 Scatter Groups

Hey

For library issues I’d suggest to delete your scatter biome library folder and reinstall Scatter4 from the blender market

Is it possible to restrict Scatter 5 Beta instances to only appear on specific view layers?

Perhaps by creating one scatter layer per instance you want your view layer on

I am not quite sure what you mean by “one scatter layer per instance”.

As an example I have created a simple file with 3 planes (yellow, green and pink) and 2 objects (blue cones and red icospheres).

  • The Yellow plane has the red icospheres scattered on it
  • The Green plane has the blue cones on it
  • The Pink plane has both scattered on it.

The icospheres are in the same collection as the yellow plane, and the cones are in the same collection as the green plane, the pink plane is in a collection by itself.

I then set up some view layers:

  • “VL YellowPlane” which has the yellow plane colleciton and the scatter collection selected. This shows the yellow plane and all 3 scatter systems.
  • “VL Yellow Plane no scatter” which has just the yellow plane collection. This shows no scattering (as expected)
    ^ “VL Green Plane” - contains just the green plane and the scatter collection. When rendered, shows the green plane but all of the scattered assets for all 3 planes.
  • “VL Pink Plane” contains just the pink plane and the scatter collection. When rendered, shows the pink plane but all of the scattered assets for all 3 planes.
  • “VL Everything” contains all collections and when rendered correctly shows everything

It seems that the only collection that controls if a scatter is visible is the “Scatter5 [Scene] scatter_obj” collection, which turns them all on or all off. I can not see how to create a separate collection for each scatter in this collection. As View Layers only work at the collection level, I would need to somehow get each object in this collection into it’s own sub-collection.

Even if you “exclude from view layer” the collection that the scattered object is in it still shows up in the rendered image as the Geonode modifier in “Scatter5 [Scene] scatter_obj/…” is creating new instances of it.

I have uploaded the sample file to explain more clearly than my rambling explanation.

https://drive.google.com/file/d/1S5wawpIdgXkdEWqmii6NWPAJvJSyDT6t/view?usp=sharing

I am not yet familiar with the Geonodes,
In softimage there is the Icetree where you can delete the particles via a volume,
that should work similar in Blender, right?

DEMO

I’m sorry I’m not familiar with view layers, scatter 5 will create a new object per particle layer, so if you want a specific instance in your view layer, you will need to create a particle system with only one instances instead of mixing them in one particle system

There’s the proximity node, but unfortunately it’s only a proximity by edge/face/vertices. I advise them to add proximity by volume in this but they didn’t want to for some reasons

In 3.0 there will be a ray casting node that could work for this usage too

The problem is that regardless of whether I have a single particle system with mutliple instances, or multiple particle systems each with a single instance, all of the created objects get put into the same collection (Scatter5 [Scene] scatter_obj) - highlighted in Red in the image.

View Layers can only turn on or off entire collections, they do not work at the object layer. In order to use Scatter in any kind of compositing workflow the objects need to be in individual collections (or at least one collection per source object), more like this:
Screenshot 2021-07-02 170119

If I move the created scatter_obj into sub collections, then I can turn them on and off individually within view layers with the same granularity as the source planes that they are scattering across.

Or am I missing something fundemental and there is already a way of creating multiple “Scatter5 [Scene] Collections” or “Scatter5 [Scene] scatter_obj” collections through the interface?

Yes that’s what i’m trying to explain, you just need to do this :slight_smile:
i’m not sure what’s the problem you seem to figure it out :face_with_raised_eyebrow:

Ok, thanks. I was concerned that fiddling around with the collections and objects that Scatter creates would break things. Afterall the last time I tried to move an object to a different collection I caused all kinds of problems :wink: . I didn’t want to do this and then not be able to edit the scatters or have it generate random results.

Knowing that I can rearrange the objects into my own collections does what I need it to do.

Can I suggest that a comment in the documentation for the final product makes it clear that the objects can be moved into other collections just so you don’t keep getting people like me getting confused as how to make it work with a Layered workflow.

1 Like

Once I knew that the object could be moved into another collection I edited add_psy.py to create the sub collection for the emitter automatically.

I am not sure what your attitude to conde snippets being posted here is, so I wont post the patch up here unless you are happy for me to do so (and you are interested in it).

1 Like

Sure go ahead :slight_smile:
Note that This is very niche, most of the users will move things out from the collection anyway i believe

1 Like

Hey folks
It seems that the switch from 2.93 to 3.0 will be similar to what we had from 2.79 to 2.80
so i’d like to hear what’s you guys update behavior

What version are you currently using?

  • below
  • 2.83
  • 2.90
  • 2.91
  • 2.92
  • 2.93

0 voters

What’s the best statement for you?

  • I tend to be slow at updating my blender version
  • i stick with LTS
  • I always update to the latest blender version officially available when it’s out

0 voters

Are You ok with the fact that Scatter5 will be exclusive to Blender3.0 or above?

  • Yes
  • No

0 voters

I didn’t answer the middle question because i tend to update when, i can be bothered or if the new version has a lot of feature that i want. For example i skipped 2.91 because non of the changes had an affect on my workflow.

def new_scatter_obj(name, emitter_obj):
    """create object used by geonode scattering, access via scatter_system.obj"""

    name = f"scatter_obj : {name}"
    o = bpy.data.objects.new(name, bpy.data.meshes.new(name), )
    o.hide_select = True
    
    #indicate parent emitter
    o.scatter5.emitter_obj = emitter_obj

    utils.create.lock_transform(o)

    emitter_name = emitter_obj.name
    base_coll_name = f"Scatter5 [{bpy.context.scene.name}] scatter_obj"
    emitter_coll_name = f"{base_coll_name} : {emitter_name}"
    emitter_coll = bpy.data.collections.get(emitter_coll_name)
    if not emitter_coll:
        coll = bpy.data.collections.get(base_coll_name)
        emitter_coll = utils.collection.create_new_collection(emitter_coll_name, base_coll_name)
    emitter_coll.objects.link(o)

    return o

I agree that is probably niche, but I think that people will not move auto-generated objects around unless they know that they are not going to break the systems that created them in the first place.

2 Likes

Hi Dorian,
Yeah this is happening systematically, everytime in fact, guaranteed. I have not found a situation where I can exit out of manual distribution spray brush mode without it happening.
It happens pressing ESC on keyboard to exit, it also happens when pressing the Exit red button in the top right hand corner.
There are no errors in the console

@BD3D Do you plan on adding Physics painting to the manual mode?
This is what I mean:

It might be nice for leaves/ rocks, etc and surely opens up new possibilities.

Right now i’d say no

Dev Update

Hey Folks

I’m taking a month off.
Right now we are in a really unstable situation. It seems like every tutorial on youtube about geonode will already be obsolete, only a few months after the new system initial release…

Don’t worry, the addon structure is well done, it will be easy for me to adapt, I’ll just need to rework the geonode scattering engine (except if there are whole features that are gone, but I think that this is quite unlikely).

I still plan the release for 1rst of November, right after blender 3.0 release

16 Likes

Cleanly remove Scatter and reinstall…

Does anyone know how to cleanly remove previous versions of Scatter? I horked up my Scatter 4.0 install and everyone is just wonky. How can I cleanly remove scatter 3.0 from blender so I can start from scratch?

thanks for any help

kyle

Hey

Best way to remove a plugin is by going in your addon directory and removing folders or .py files. In Scatter4 you will see two folder the “Scatter” folder and the “Scatter Library” folder. In Scatter5 the library is located elsewhere

Disable, then use the “remove” button and restart blender.

Hi I just downloaded scatter4 and I’ve been messing with the biomes and got what I was looking or in terms of density and scale ect.

How do I take this biome and apply it to a new plane? Or do I need to apply one from the biomes manager and do all my editing over again?