0
$\begingroup$

i'm attempting to make a dissolve effect that is driven by proximity to an Empty.

So far, i've created a mesh to volume, then populated that with points/instances of a brick. I have the Empty shrinking the brick instances when in close proximity to the Empty. I'm trying to modify it with some other more natural-looking effects too.

Once i get it to where I want, however, I want to be able to apply this effect on various parts of the object, each with their own Empty driver that I can choose the position of, move around, etc.
So, how do I make the effect work with each new Empty I introduce, without messing up the effect or changing the position of the object itself?

Each time I try, either the entire array of instances transports to another location (which i cant' have, because i'ts part of a scene whose composition is already established), or it does nothing.

This is the effect so far: Effect so far

Here is my node setup: enter image description here

Thanks! There are other effects im trying for related to this topic that impact this one, but Stack Exchange wouldn't let me include them all in one post, despite them being relevant. Please see my post history if you're curious and want to help out.

Thank you!

$\endgroup$
2
  • $\begingroup$ Why not edit the previous question instead? Its previous revision would still be accessible. As for your question, you can have a collection of empties, convert instances to points, and use "Geometry Proximity" to find the nearest point. $\endgroup$ Commented Dec 3, 2024 at 22:20
  • $\begingroup$ I tried to edit the previous question, the mods never approved it. And okay, i'll try that out! Thanks! $\endgroup$ Commented Dec 4, 2024 at 0:03

2 Answers 2

2
$\begingroup$

If you want both empties to affect the instances, you can put them in a separate collection and use a Collection Info node to obtain data from them. Make sure Separate Children is enabled, Reset Children disabled. It does not matter if it is set to Original or Relative though, the result is the same.

To check the distance of the instances to the empties you can use a Geometry Proximity node, however empties are not geometry - so first they need to be converted with an Instances to Points node (not to be confused with the Instance on Points node, BlenderGuru for example once said he always struggles with which is which).

After converting them you can plug them into the Geometry Proximity node. This conveniently already has a distance calculation, so no Vector Math is needed. You also do not have to plug anything into Sample Position, by default it will use the positions of the brick instances.

In the following setup I have already implemented the Noise Texture node from the other question. Note however, in your Mix Color node (I have a simple Mix node set to Vector, no need for colors here), the second input has to be the vector (0, 0, 0) instead of anything else plugged in - because these are the translation values for bricks further away from the empties, and you do not want to move them, so make the translation 0.

empties collection

Now you can easily add more empties, as long as they are inside the collection they will affect the bricks.

more empties

$\endgroup$
1
  • $\begingroup$ Fantastic, I had no idea empties could be brought in as instances. Thanks for the tip $\endgroup$ Commented Dec 5, 2024 at 1:45
0
$\begingroup$

Add another distance calculation for each empty you want to use to drive the effect, and pick the smallest one (math node -> minimum).

$\endgroup$
4
  • $\begingroup$ Thanks! What exactly is the logic behind the minimum math node? I'm really ignorant about how exactly a lot fo the nodes work, and why they need to be used in a certain way $\endgroup$ Commented Dec 4, 2024 at 0:04
  • $\begingroup$ @h_sharp327 The Minimum logic is not very sophisticated. It simply chooses the minimum of two values plugged in the inputs. Say distance1 is 0.6 m, distance2 is 0.4 m, the minimum of these two values is 0.4 m, so that's what you get from the output. $\endgroup$ Commented Dec 4, 2024 at 9:43
  • $\begingroup$ Hadriscus: How is the Minimum function in itself supposed to make both empties affect the bricks in their respective proximity though? $\endgroup$ Commented Dec 4, 2024 at 12:34
  • $\begingroup$ Gordon, I'm not sure what to tell you, that's what it does. You can try it. Your solution is much better though, especially turning empties to points simplifies things tremendously $\endgroup$ Commented Dec 5, 2024 at 1:51

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.