Simple Scatter Plugin

Hello,

Just wanted to let you know that for some reason installing for 4.27 doesn’t go through
I click Install and nothing happens, installed 4.27 two times just to be sure, every other plugin i have seems to download as it should, it’s very weird

After clicking install it doesn’t even start download

I am having the same issue

@Iannis @tsquared

Hey, sorry, for some reason I did not get notifications that the thread got new replies.

I am aware of the issue and have contacted Marketplace staff to help me solve the issue, as it doesn’t seem it’s on my side. I will let you know as soon as it’s solved. In the meanwhile, feel free to mail me at the email address found on my Marketplace Seller Profile page, and I can send you build of the scatter plugin for 4.27 directly.

Sorry for the issues.

This plugin looks fantastic - does it work Unreal Engine 5?

Not officially. I do have working UE5 build but UE5 Early Access itself is pretty buggy, and some of those bugs ripple into the functionality of the Scatter plugin. It mostly works, but right now there are some performance issues I am not happy with, so I am not making it available yet.

And currently, there doesn’t seem to be a possibility for Marketplace creators to publish content for UE5 anyway.

Thanks for your quick reply - much appreciated. Do you think it would work well enough in UE5 just to scatter grass on a few static mesh surfaces (not landscape surfaces)? No need for fall-off or custom heightmaps etc. for density, just simple placement of grass with random rotation and a custom min/max height? If it is capable of doing this I would happily purchase today.

Edit: ANSWER - image
I needed to set the UV size to the same as terrain.

Original question:

Hi, I am using the plugin with 4.26. Having trouble getting distribution material to work.

Seems that despite the material plugged into the scatter blueprint, distribution remains uniform across the entire scatter surface.

Shown in the image below is what I’ve set up. An unlit material, I’ve plugged a texture into emissive. I tried both the RGB output and R output but result looks same either way.

With the distribution material there does seem to be less foliage overall, though it’s still placed everywhere.

I have UV’s on the landscape set to 1. Thanks for any help.

Yes, it’s explained in one of the tutorial videos:

I originally wanted to make it automatic, to prevent user errors like this, but UE landscapes can be edited by user at any time, by adding and removing landscape components (tiles that make up the landscape), and if the landscape UVs size was determined automatically, then it would be constantly changing as users add or remove landscape components, and it would be messing up their desired distributions.

1 Like

Awesome I did not see that there was more instructional videos, I only saw that promo video that quickly listed features. Thanks!

by the way great tool it’s exactly what is needed - unreal should swap it out for the procedural foliage.

Is it possible to change instanced meshes collision type? Some I would like to be set to Overlap All for instance, rather than blocking collision.

Yes, with a bit of workaround:

You can inherit a blueprint from the SimpleScatter class. Its BP construction script will run after the SimpleScatter C++ code runs, so you can use BP construction script to customize your scatter by “post processing” the distribution. Under the hood, the plugin just generates UE4’s native HierarchicalInstancedStaticMesh components, so if you get them using the GetComponentsByClass as show in the video above, you can customize almost all advanced settings the HISM components come with.

The video shows shadow toggling, so in your case, you’d just replace it with something like the SetCollisionProfileName node:
image
You can then expose the “In Collision Profile Name” as an editable variable, in the same way as the CastShadow bool is exposed in the video above. Unfortunately UE4 doesn’t have Enum for collision profiles, so you have to type their names manually, otherwise you’d get a nice dropdown menu.

Alternatively, the plugin generates HISM components with the “Default” collision profile, which means it’s derived from the static mesh asset you use. So if you change the collision type of your static mesh asset in the static mesh asset editor, it should propagate too:


Just keep in mind this would then affect all the instances of this mesh in your game, as long as they are used in components which have their Collision Preset set to “Default” too.

The tutorial videos are all here:
https://redirect.epicgames.com/?redirectTo=https://www.youtube.com/playlist?list=PLsFQnUu1nji9r_f2DJo8xttLf8B3hwsDj
Although there have been a few small features added since. The main one is that since 4.27, you can create Spline Actors separate from the Scatter Actors, so multiple scatters can share same splines. That one isn’t shown in the videos yet.

1 Like

Thank you!

***edit: i am able to accomplish my goal by doing the postprocessing with construction script so no worries - issue below is not stalling my work, just wanted to let you know in case its a bug

About the last note:

derived from the static mesh asset you use.

That does not seem to be functioning correctly for me. Here is how I’ve set it up for a test:


I’ve enabled collision for the Static Mesh in the scatter actors Instance Settings, and on that Static Mesh I’ve set the Collision Preset to Overlap All. But on playing, it seems to be on Block All as it blocks my player character.

Interesting. I will try to reproduce it and get it fixed. Thanks!

@rawalanche

do you have any tips for if an exclusion mesh is failing to register?

I’ve imported a new exclusion mesh and added to list of exlusion meshes for a scatter blueprint. It does seem to register partly because if I move the exclusion mesh the scatter instances update, they just don’t exclude from the footprint area.

I’ve tried manual refreshing but that’s not doing anything. Also have tried duplicating and replacing and anything that might reset the dependencies - all to no avail.

Obviously it has been working as expected up till now but sometimes it seems like if I delete an exclusion mesh or replace it causes an issue where the scatter blueprint doesn’t seem to recognize any new exclusion meshes.

Actually I narrowed it down.

I nuked the entire exclusion mesh list and started repopulating it one by one. SOME meshes work as expected while others do not. Weird thing is, they are all identical, except for the static mesh component.

edit: i have a easy workaround. just drag in default plane - something about the custom mesh i made just wasnt working but its no big deal.

Did the custom mesh have the collision profile set to world static? That could be it. Other than that, I’d have to get some simplified version of the project to see what’s wrong.

1 Like

aha. that was it. Thanks!

Hi all.

I am trying to use the the Distribution Material/ Mask on a static mesh. It appears this is a ‘top down’ projection of the mask material. All works well if the UVs of your mesh are projected in the same manner.

Would be nice to be able to specify a UV set for the static mesh. Is this possible? Changing the texcoord in the material doens’t have any effect.

Would also be nice if we could modify how the Distribution Material behaves. It would be helpful if we could change the texture channel assignments. ie, change which channels of the texture affect the density, instead of always being assigned to the Red Channel. Also curious if this is possible to edit.

Thanks all. Great tool so far.

I downloaded Unreal Engine 5 Preview and it seems that the simple scatter plugin isn’t working in this new version - do I need to change some of the code in the SimpleScatterPlugin.uplugin file?

You will have to wait until the final UE5 release. I can not support preview versions unfortunately.