How to have ecosystem wrap around sphere?

Hey @D-W I was playing with Rhino Nature to get some fun effects. I am trying to do essentially a miniature world globe with a forest, but I am unable to get the ecosystem to cover the entire surface.

I tried setting the aligment to Local in the distribution settings, but that didn’t help.

Any idea how to get the ecosystem to cover the entire sphere such that trees are always oriented aligned to to the surface normal?

fun intermediate render

Hi @nathanletwory ,

Screen to help understanding:
image

RN uses different approaches to distribute elements first on the list are projection distributions (Even, Grid, Random) - so those are projected along Z-Axis or Custom Axis picked by you - Direct ones (Vertex, Face, Sampled) - I think Vertex and Face don’t have to be explained. Sampled is one you’re after. It tries uniformly spread items on the geometry - its distribution will be similar to Random → Pure Random but wrapped over the object.

After that, you can Unwrap the sphere and use UVs selected channel to distribute taking advantage of UVs e.g. drawing a mask for elements. Actually those are default UVs below.

Additionaly you always can refer docs Distribution - Rhino Nature Help. Hope this clarifies the topic a bit :slight_smile:

1 Like

Thanks, I missed setting the uv part. I had already applied a spherical mapping.

Here a high-resolution render to appreciate the trees.

4 Likes

I see you used quite hard displacement. FWIW if you use displacement you many need to retweak some param to make RN refresh distribution as I was unable to track displacement plugin events to fire refresh.

There is also second way Settings → Excessive tracking checkbox … Not advised as it will force recalculate ecosystem when any propetry of domain will change like for e.g. name, layer BUT can help sometimes.

Forgot to say - RN has channel picker so you can keep 1st for render texture and 2nd to feed RN :wink:

The displacement here is actually PBR displacement. I guess Rhino Nature doesn’t track that. Anyway, for this fun piece the current setup works for my intention.

You’re right. Besides, it’s probably untrackable on my side.

I suppose you could check if there is a PBR material with a texture enabled in the displacement slot, and then get the render mesh from the domain and apply displacement yourself according to the displacement settings. But that may be something for Later I guess.

Maybe at some point I could hook up this displacement code that is in Cycles to get out the displaced mesh that it is using. But that is also for Much Later (: