1
$\begingroup$

I need to make dissolving effect on simple plane, from the object center. I tried to make it with material shader by using gradient map but in my case it doesn't work as I need because the effect seems like clockwise appearance. Also used a Build Modifier but can't control the started point of it, in my case i need that dissolve effect starts from center not from the sides or up/down. Think it could be done with Geometry Nodes...

the plane with image texture

Maybe someone know the solution, thanks in advance! I provide the blend file

dissolve effect from center of the plane

$\endgroup$
3
  • 1
    $\begingroup$ Please clarify what your problem is. What kind of "dissolve effect" do you want? You have a Build modifier on the plane, Start Frame set to 99, Length to 100 and Reverse enabled. If you would now play the animation, the plane would start dissolving on frame 99 and will be disappeared on frame 199. Is this not what you want? Then there is the Color Ramp in the shader with the radial Gradient texture. If you would set a keyframe for the white color at position 1, then move to a different frame and set a keyframe at position 0.0001 (not 0, there is black), you have a radial dissolve. $\endgroup$ Aug 1, 2023 at 14:11
  • $\begingroup$ Thank you @GordonBrinkmann for your comment. I add some more description in the question. I want that the dissolve effect start from the center of the plane. $\endgroup$
    – lara pauk
    Aug 1, 2023 at 17:21
  • $\begingroup$ Oddly enough, after I commented I read that you want to start it from the center and actually deleted my comment 🤔 So, you mean that each square should disappear as a whole, or is it okay to disappear gradually? For the latter you could set the Gradient Texture to Spherical and animate the white slider of the Color Ramp. $\endgroup$ Aug 1, 2023 at 21:46

2 Answers 2

3
$\begingroup$

Since you mention the Build modifier and the problem being the order of this modifier is not satisfying, you should be happy to learn the order of the modifier is the indices of the faces, which can be easily sorted by their distance from the 3D cursor:

(make sure you're in 3 Face Selection Mode and your faces are selected)

Now your build modifier (in reversed order) works as expected:

If you're unhappy with how easy it was, you can apply some additional tricks…

Advanced sorting using Python

(run in Edit Mode)

import bmesh
from bpy import context as C
from math import atan2

me = C.object.data
bm = bmesh.from_edit_mesh(C.object.data)
coords = [f.calc_center_median().yx for f in bm.faces]
distances_to_center = (co.length for co in coords)
angles = (atan2(*co) for co in coords)
combined = zip(angles, distances_to_center, bm.faces[:])
sorted_by_angle_and_distance = sorted(combined, key=lambda x:x[0]+x[1]*20)
for i, (angle, _, face) in enumerate(sorted_by_angle_and_distance):
    face.index = i
bm.faces.sort()
bmesh.update_edit_mesh(me)

Varying animation speed

Since the Build modifier has a constant speed in faces per frame, as it approaches the center of the circle, it seems to speed up, because there's just less faces per each ring as you get closer to the center (at least if your topology is a grid, rather than something like this). Consider setting the animation length to the number of faces, and the starting frame to a custom driver - for an explanation how to do so see this thread:

Build animation modifier build up and then reverse

$\endgroup$
3
  • $\begingroup$ Oh great, the face sorting is nice. Didn't know that since usually I do not need to change the order of indices. $\endgroup$ Aug 2, 2023 at 8:41
  • 2
    $\begingroup$ @GordonBrinkmann See also: Animating screw modifier with custom start and end $\endgroup$ Aug 2, 2023 at 8:46
  • $\begingroup$ WOW! Thank you a lot @MarkusvonBroady it is really great solution and very simple! $\endgroup$
    – lara pauk
    Aug 2, 2023 at 10:58
3
$\begingroup$

Since you use here, I'll try to answer this question with Geometry Nodes, of course:

enter image description here enter image description here

Just use the nodes Scene Time and Map Range to define the time range and effect ratio. From Min and From Max corresponds to the values you used for the build modifier. The values for To Min and To Max define the area of effect or the distance of an object starting from the center.

If you reverse these values in the mapping, the effect also reverses in the opposite direction.

As soon as the distance of a face is below this resulting value, it may remain, and if not, it should be deleted.

$\endgroup$
2
  • $\begingroup$ Great, this is exactly what I wanted to achive, the powerful tool Geometry Nodes. Thank you a lot @quellenform $\endgroup$
    – lara pauk
    Aug 2, 2023 at 11:01
  • 2
    $\begingroup$ I forgot to mention, that eventually, with the complex sorting and pace-changing, Geometry Nodes alternative becomes more and more attractive… And I didn't notice the tag. Oh and your solution doesn't have constant faces-per-frame pacing of the Build modifier, it has a constant radius change instead, which is probably a nicer effect most of the time. $\endgroup$ Aug 2, 2023 at 11:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .