Clutters colision radius


photo

Recommended Posts

I am quite missing collision radius in all clutter like objects. You cant prevent intersection of several objects, especially if you have more clutters at the same place (forest). Any plans to add this? Thanks.

Link to post

Hi Jirka,

That's in theory possible, but not with ObjectMeshClutter object. Tree instances are being generated in runtime using a simple random, so adding more complex rules and checks will simply slowdown the generation on big locations significantly, so there will be no sense to use the Clutter objects anymore.

In theory it's possible to achieve that by some kind of offline generation, but for the big locations you can calculate this infinity amount of time :)

So right now we don't really have a proper solution that would be a) fast and can be used for real-time objects spawn b) will allow a minimal artistic control on the spawn algorithm. Maybe we will initially found some proper noise / random generation algorithm that would be suitable for this task and implement it, who knows.

Thanks!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to post
Posted (edited)

I think this has solution. If you place clutter object into scene, you can create some "volume object" (or put vertex color on terrain??) and next clutter knows to not place anything there. Clutter is based on 2d mask, so this check can happen in 2d. This should be also performance friendly for reasonable number of objects (you want to prevent spawning rocks in trees etc, so you turn this on only for bigger objects).

There can be also partial solution, generate mesh cluster file outside of Unigine in something like Houdini. I did some performance checks and 100k trees is OK (15MB file), it seems no difference to mesh clutter. Drawback is, that I cant scatter impostors like that, also it probably eats more memory than clutter (?). On thing is one cluster, second 100, thats 1,5GB of cluster files.

 

Edited by demostenes
Link to post

Yes, offline generation is possible for some small areas right now (for areas less than 50x50 km) and you can already implement and prototype your vegetation spawn algorithms with ObjectMeshCluster.

Clusters simply stores transform inside them, so you can create a .node file and fill it with required transforms on your side. The file itself will be huge, but it will work like you need. Performance of the Cluster object should be enough (at least it should be very similar to runtime-generated ObjectMeshClutter).

Thanks!

 

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to post
4 hours ago, silent said:

Yes, offline generation is possible for some small areas right now (for areas less than 50x50 km) and you can already implement and prototype your vegetation spawn algorithms with ObjectMeshCluster.

Clusters simply stores transform inside them, so you can create a .node file and fill it with required transforms on your side. The file itself will be huge, but it will work like you need. Performance of the Cluster object should be enough (at least it should be very similar to runtime-generated ObjectMeshClutter).

Thanks!

 

Is there any solution for billboards? If I use this approach, I dint find out way how to have BB for such objects, which is quite big drawback. Thanks.

Link to post

With imposters there would be for sure some difficulties.

As an option you can try to spawn simple 2 polygon meshes in the same positions as cluster object with a custom shader that imitates imposters behavior. Maybe it would be even faster compared to regular Clutter + Imposters combination.

Thanks!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to post