Is there a new version of procedurally spawning foliage

this one is outdated and even if i try to opening with 4.27 (Compatible version according to github)
it has errors, is there a new version of this TECHNOLOGY

There’s no newer version of that tutorial. But if you share the errors you’re running into, we might have ideas for getting past them.

I definitely suggest using UE 5.4+, even though the tutorial was originally written against an older version.

I am about to go through this, i’m using 5.5 so i’ll report back what i find. (i’ve been placing foliage previously, not the most efficient lol)

this is the visual stido screen when i follow the instructions to open project

Might be a long shot, but have you regenerated the source files via the uproject? i get this quite alot when the plugin i’ve made has underlying issues/corrupted build state.

Edit: Testing the Repo on my 5.5 now. Same Errors, there’s a few things skipped; slowly going through them.

Update: I have the project building now, just fixing the outdated lines within various constructors

Update 2: Got the Project running in 5.5!

Big culprit is i needed to add:
#include “CesiumWgs84Ellipsoid.h”

and then change the various lines to implement the new functions:

static FVector LongitudeLatitudeHeightToEarthCenteredEarthFixed (const FVector &LongitudeLatitudeHeight)
Convert longitude in degrees (X), latitude in degrees (Y), and height above the WGS84 ellipsoid in meters (Z) to Earth-Centered, Earth-Fixed (ECEF) coordinates.
static FVector EarthCenteredEarthFixedToLongitudeLatitudeHeight (const FVector &EarthCenteredEarthFixedPosition)
Convert Earth-Centered, Earth-Fixed (ECEF) coordinates to longitude in degrees (X), latitude in degrees (Y), and height above the WGS84 ellipsoid in meters (Z).
static FMatrix EastNorthUpToEarthCenteredEarthFixed (const FVector &EarthCenteredEarthFixedPosition)
Computes the transformation matrix from the local East-North-Up (ENU) frame to Earth-Centered, Earth-Fixed (ECEF) at the specified ECEF location.

Update 4: Need to fix a few more things, project runs etc, but the foliage is blocks (set in details panel) and it’s just kind of floating.

umm what do you mean

Some of the mthods in the previous version didn’t exist, or at least for me, so i had to add the other header file in CesiumWgs84Ellipsoid; as a subsequent result, you have to also change the corresponding calls within ProceduralFoliageEllipsoid & FoliageCaptureActor.

Once i have it working i’ll put it on github for you. Currently trying to get the collision for the actual foliage to work correctly, that and a few other bugs related to the HISM things are still intermittently crashing.

i’ll be very very glad thank you so much!
i hope process won’t be hard

No worries at all!
Hopefully it should be as easy as opening the project and you should be good to go haha. Still dealing with the collision issues atm, but getting through the bugs and crashes now. I’ll keep you updated as i get through it all.

i am following updates! have a nice day

Okay, fixed quite a lot of performance issues, the system kept locking up for 10-15min at a time when using ray-casting (non ray-casting just wouldn’t work). You can now fly around and it’ll spawn blocks etc, with minimal hitches. Still some weird quirks, as in, if i use 1024 for a capture elevation, it seems to work okay, and you get some hitting the ground, some in the air, but any other number set for the capture elevation seems to result in no trees/blocks.

Managed to get some trees on the ground, there’s still random floating trees (cubes atm).

We’re getting closer, ill keep working away at it, hopefully can get some consistent results as the z-offset on the foliage seems to play a huge part in the puzzle (even when the distance to ground has been calculated via ray-casting).

it’s almost finished! is there any communication way to talk to you?

pm’d

Okay, slowly getting somewhere, currently debugging a bunch of ray-cast logs, seems there’s more collision issues lurking somewhere in FoliageCaptureActor.cpp. At this point most of the functions are completely different now to the actual project on github, however, i think i’m getting a little closer to it actually working.

The bit im iffy about is the performance implications of the system, as i have a 3080, 64gb ram and a 7950x on this workstation and due to the subtle issues it really struggles at times with basic blocks. I’ve reduced collision types to simple collision, hoping that once i clear the rest of the bugs out it’ll pickup a bit.

After a long time fixing and patching and making a ton of mistakes, the old approach i was using did not work. Finally got it running correctly and quite smooth with some key changes.

For anyone following/seeing this in the future; the old functions for Georeference have changed to

TransformLongitudeLatitudeHeightPositionToUnreal etc (usually Position now in the name). ComputeEastsouthUpToUnreal has changed to ComputeEastSouthUpToUnrealTransformation.