Describe the bug
Today I was playing with scattered models. So I noticed some issues with it.
First I noticed for Leafy Forest prefab has Trunk collisions are offset. It is not at the location of the trunk. It is a bit on the side.
Then I check the code of the DefineScatterHelperClasses and I realised it creates the TrunkTriangles at the center of the object (bbox).
This is very problematic when you use a tree model with asymmetric canopy, such as “Common Tree 1.glb” in the Leafy Forest prefab. Because, now the trunk collision is at the side of the model’s trunk instead of the trunk’s real position.
Also when it comes to the scattering logic, I understand the some reasons to use bounding box center instead of the model origin. such as density spacing etc.
But again when we have a tree model with asymmetric canopy, in some cases it causes that all the trunk base is floating on the slopes, instead of half of it should be floating if the scattering done from the origin.
Of course correct way to handle the floating trees is the extending the trunk base below origin point. OH! wait! scattering uses the object center not the model origin so we are never able to fix that.
Well… I guess these explains how scatter model object limits the developer because it work in certain models.
Suggestions
So, all scattering logic and trunk collision creations should be done considering the model origin not the bounding box center, Like a real 3D game engine or 3D modelling software.
It is not a good practice simply ignoring accepted modelling, exporting, designing principles when implementing new features to the engine for the sake of ease of use. I say this because I believe it was a wrong thought that says “hey we can’t guarantee if the model has proper origin point, so better to use bbox center or else people gonna have bad time” or it was just Claude code’s slopy unnecessary idea that AIs usually invent from their arses.
Guess what? now people that know proper game development practices, has a tool that works against them and limits them into using spessific 3d models.
Bonus:
It is so crazy that Gdevelop is Z+ Up game engine, but Scattered Models are only accepting Y+ Up models… why? I am sure because the gd asset store is full of Y+ up models…

