Simple Scatter Plugin

There should not be anything extra you have to do. Just plug whatever texture you want to use as distribution map into R channel of the emission. (G channel controls scale). Keep in mind that only the basic color calculation are supported. Material editor nodes which utilize geometry data are not, so for example using world normal to mask out slopes won’t work, as the distribution map is pre-rendered on a flat square before used.

Can you post what kind of texture you are trying to use? Is it possible it has very fine detail? Also, are you scattering on a mesh or on a landscape?

TreeCanopy_Ht.jpg
https://forums.unrealengine.com/core/image/gif;base64
​​​

Thanks for your reply!

The distribution map is a grayscale PNG, there is a lot of very fine detail in the map, and we are using a landscape.

The map has gray values - so, we are reprocessing it to black or white. Hopefully, we’ll start to get trees on our smallest islands…

5402ec5c568e73b8293200f04bf4f567e6150d22.jpeg](filedata/fetch?id=1846152&d=1608758746)

I am afraid that is the problem. I did not really take this detailed maps into account and I was very conservative about performance, so the material is internally rendered into just 256x256 resolution rendertarget. If you contact me on the support mail address you can find on my marketplace profile, I can send you newer version of the plugin where the setting will be exposed. :slight_smile:

Just before you do that though, did you try to to color correct the map in the distribution material in any way? For example try to multiply it by a large number, like 10, and then clamp it, before plugging it into emission. Or try to put it through the ceil node. The brightness of the pixels defines probability of the instances appearing, and the map seems rather gray in many areas, instead of just pure black and white.

That makes a lot of sense. Our distribution map is 2K. Clamping the values so we just have black and white helped a lot. It would be great if the plugin didn’t resize the maps.

-Donald

Where is 4.26? I cannot install into engine the description indicated that 4.46 is supported.

Hi there. Awesome plugin =) I have the exact same problem with the 256x256 resolution. Where can I adjust this?

Thanks, in advance,
Kim

Hey,

can you please mail me on the address you can find on my marketplace profile? I’ve added the option but also added some new features, but I have not yet released it as I have not found enough testers to test that it’s stable enough. If you mail me, I can send you the new build which includes the distribution map resolution option.

Thanks :slight_smile:

Hi, first of all congratulations on your excellent plugin. I am having a problem displaying the grass that I spread over a mesh. You can see from the video that some parts of the grass are gradually appearing. How can I avoid that and get the weed to be 100% right from the start. Thanks in advance.

Hi,

I honestly can’t see much from that video, probably due to heavy compression. If you mean the shadow popping in the grass, that is most likely not related to the Scatter plugin in any way, but a matter of LODs. Some assets tend to either have dynamic shadows disabled for LOD levels higher than 0, or even swap to completely shadow-less 2D card. So if that is the issue you mean, then I’d suggest you explore the given asset in static mesh editor and see how LODs are set up there.

Thank you for your answer, I will investigate the indications you give. Good to you.

Hi, It’s a while since I was asking about this and I think I will buy it in the March sale and take a chance that it compiles on a mac. It does some things that I need, and have not come across anything similar. I will let you know how I get on.

Sure. No problem. If it doesn’t work, just contact me on the mail address you can find on my marketplace account page, and I will contact marketplace support to issue you a refund.

OMG It works. Thank you so much ! Works on a Mac

I notice there are Blueprint nodes for Set Surface and make and break struct for surface, distribution material. Is it possible to change these settings at runtime ? I would like to be able to set the surface to a mesh generated at runtime. Thanks

Hi, I am just adding a note that @HatmanAlchemy has contacted me over the email. Just so it doesn’t look like I’ve ignored his posts :slight_smile:

1 Like

Same (or similar) question here - is there a way to re-generate Simple Scatter meshes at runtime (through blueprints)? For example: if I were to change the distribution material, or dynamically move the splines, how can I tell SimpleScatter to re-generate using the new distribution material (via an event in the game)? I have a few use-cases for this, and would like to be able to change the mesh that is scattered, the rotation variables (possibly) and the distribution material - at run-time.

Hi,

unfortunately no, not at the moment. When I originally made the plugin I did not consider this use case. Mostly because the plugin was mainly supposed to help with scattering very large amounts of instances, which would cause serious hitches, when being generated at runtime. Only way to avoid that would be some sort of async system, but asynchronous computation is way beyond my current skill level.

I plan to add some BP functions to allow generating and changing the distributions at runtime, but currently the plugin doesn’t support that, and even once it does, it probably won’t be usable anywhere outside level loading time, assuming that long hitches are not tolerable in a serious game use case.

1 Like

It’s ok if it takes a while to regenerate the meshes at runtime. It doesn’t need to be immediate. Would this require C++? I can modify that myself. I think I just need to make the ManualRefresh function available to a blueprint, and I can then call it from my UI in runtime?

Hi,

sorry. I did not notice your reply. If you are willing to learn C++, which is honestly quite courageous, then the most important thing would be just making variables and functions in the header file of the main scatter class Blueprintable, so you can set variables and call scatter functions from the blueprint. Then, if you look in the cpp implementation, you can see in which order the main functions are called, and could use those functions in BP as building blocks. It should be fairly easy for someone who has C++ experience, but can be daunting for a C++ beginner :slight_smile:

This is pretty much all I would need as well - just the ManualRefresh function available to blueprint :grinning: