Populator on strike!

Started by N-drju, February 01, 2017, 04:57:21 PM

Previous topic - Next topic

N-drju

I just got myself into a somewhat puzzling situation.

I needed to create a displaceable sphere object to fake a lump of land placed in an artificial ring. In order to cut off the part of the sphere that was beyond the containment ring I used the following node network - it worked nicely on the terrain itself (although you cannot see it in the preview obviously...):

[attach=1]

The problem however is, that with that node network... I cannot populate on this object! No matter how large or small the spacing is set to.

What happened here and how to mitigate this populator strike? ???
"This year - a factory of semiconductors. Next year - a factory of whole conductors!"

Kadri


I had a basic idea but it still worked. A very basic file would be much easier to see and test.

bobbystahr

Try adding a dangling Compute Terrain at the bottom of the shader stack but don't connect it to the planet and use that as your Compute Terrain in the populator.
something borrowed,
something Blue.
Ring out the Old.
Bring in the New
Bobby Stahr, Paracosmologist

N-drju

@Kadri - The thing is, like, I don't actually want to share this particular file y'know. ::) Also there is no point in creating a basic file because, as you have correctly observed, a setting like this made from scratch is surprisingly working out fine... Yes, that's strange, I know! I don't get it. Maybe there is just some detail I keep missing... ??? When I copied relevant objects and shader into a blank project it still did not work.

@Bobby - Unfortunately that doesn't work. I also thought of "compute terrain". Just tried it, connecting it into various spots. Anyway thanks for suggestion.

I managed to find the culprit by myself though. It's the SSS as an opacity function your honor!

When I disconnected the SSS from that input, my population appeared in the right place. But I still need the SSS masking opacity... So I just made a population cache and plugged opacity SSS back in. ::)
"This year - a factory of semiconductors. Next year - a factory of whole conductors!"

Kadri

Quote from: N-drju on February 02, 2017, 02:19:00 AM
@Kadri - The thing is, like, I don't actually want to share this particular file y'know. ::) ...

Not wanting to share is absolutely fine :) It is just mostly much much easier to find the problem.
Especially as i find it harder to read about problems then to see and test myself.
Glad you found the problem.

Dune

Still strange that the opacity mask does that to the population possibility, I can hardly believe it. Anyway, another way would be to duplicate the circle of land (or use a plane, same displacements), make it invisible and use that to populate on. I used a method like that to make thatched roofs with pops of grass.

N-drju

I really don't know the reason. :( But trust me, when opacity function was disconnected, everything was back to normal in terms of populations.

The main terrain that I use is by all accounts wild - huge displacements, twist and shear shader applied and transform shader that moves the whole terrain by about 9000 units to the left. ::) Could that have any influence? Still, it's hard to grasp for me how a planet's terrain could influence object population... Probably it's not the case since this setup did not work in a blank project either...

Hm I haven't thought about using planes... Indeed they could be better for this kind of usage. Maybe I'm just too used to displaceable spheres.
"This year - a factory of semiconductors. Next year - a factory of whole conductors!"

Oshyan

Your fix doesn't really make any sense. You can't change (e.g. mask) a cached population. Any change to the population will either not take effect (if the population is not re-populated) or (if re-populated) the cache will be disabled. So I don't understand how your apparent solution would have worked...

- Oshyan

N-drju

Errr... Now I don't get what YOU are saying Oshyan. :P But maybe I did not explain that right, so here it is...

I can't populate with the setup I mentioned. Okay, no big...

1. I disconnect the opacity shader that is the source of the problem.
2. I successfully populate on object like you do.
3. I edit those instances that are beyond the containment ring.
4. I save the pop cache.
5. I check the "use instance cache" option. Population reads from cache by now.
6. I reconnect the opacity shader without making changes to the population anymore.

Thus, killing two birds with one stone, I have unwanted parts of the sphere invisible (cut off) and population sitting right where it's supposed to be. :)
"This year - a factory of semiconductors. Next year - a factory of whole conductors!"

Oshyan

Ah, I see, so you have manually edited the population to be where you want it to be; you are not using the opacity shader to control population distribution. That makes sense then.

I don't know exactly what the issue is with populating on an opacity masked object, but I am not totally surprised either...

- Oshyan

Dune

I wouldn't have expected this, but you're right. Pops only where object is opaque, but even when sitting object is disabled. If someone wants to try; (dis)connect the simple shape to opacity input and populate.

bobbystahr

Quote from: Dune on February 06, 2017, 02:33:48 AM
I wouldn't have expected this, but you're right. Pops only where object is opaque, but even when sitting object is disabled. If someone wants to try; (dis)connect the simple shape to opacity input and populate.

Thanks, was wondering bout that...3 A M here so I'm off to dreamland I'll try it in the A M...welll later this A M
something borrowed,
something Blue.
Ring out the Old.
Bring in the New
Bobby Stahr, Paracosmologist

bobbystahr

Very strange, played around with the fall off on the SS in hopes it would give a graduated popping but nope...
something borrowed,
something Blue.
Ring out the Old.
Bring in the New
Bobby Stahr, Paracosmologist

Dune

Opacity is all or nothing (still), but you can add a 'grainy' fading pf, no doubt.