Custom node for the Godot game engine to randomly place props or scenes using 3D curves. See it in action here
Scatter V2 is not backward compatible with the first version.
Use the tag selector to go back to older versions if needed.
Two examples scenes are located in res://addons/scatter/demos/
, make sure to check them both. This way you'll see how
you can setup your scenes and how this addon can be used.
- Make sure you're using Godot 3.3
- This add-on is not compatible with 4.0 yet
- Older 3.x versions may or may not be compatible
- This project's wiki pages has all the information you should know in order to use this plugin.
- Installation and basic setup
- Modifiers
- Using presets
Make sure the folder is named scatter
exactly, nothing else. If you downloaded the archive from GitHub,
if probably renamed that into scatter-master or something else, this will break the import / scene paths.
- Disable the plugin first.
- Rename the folder into
scatter
. - Close the editor and open it again.
- If you don't Godot will probably complain about cyclic dependencies or something else.
- Enable the plugin and it should work.
By default, instancing or batching is enabled (through a MultimeshInstance node) and doesn't support collisions. However
you can turn off instancing in the Scatter node and it will copy the entire source, including colliders, scripts and others.
When updating a Scatter Path
object, a 2D polygon projected on the XZ plane is also generated internally.
This polygon is used to know if a point is inside the curve or not. If this polygon resolution is too high, regenerating
it will take time. To fix this, increase the Bake Interval
on the Scatter node itself. (Not on the curve resource, this one
is not used). Values around 1 or 2 are usually enough, but if your path is really large, you don't need that much precision and
you can increase this value. However, if your path is really small, you can decrease this value.
Please read this page.
When you duplicate a Scatter
node, the curve resource is duplicated automatically so this shoudn't happen.
If it does, click on the Curve3D
resource and click on Make Unique
.
There is a known bug in Godot when raycasting from a tool script.
After moving your colliders, the physic world is not synced with their new position, so you have to hit
the Rebuild
button in the inspector, under the modifier stack. Hit it once after you made modifications to your
scene.
If you can't find what you're looking for in this readme, please check this project wiki. If you're facing a bug, please check the issues's tracker to see if someone else already reported the issue. If not, feel free to open a new one.
- This addon is published under the MIT licence.
- Most 2D and 3D assets in the demos folder are MIT, with a few exceptions. Refer the the LICENCE.md in the assets folder for more details.