I'm trying to move [instanced] objects up when I move an empty beneath them. Picture a 10 x 10 array of spheres. I want it to look like something is moving below them pushing them up as it moves. I don't want to deform the spheres, just move them. I did this in Modo way back when, but want to try it in blender. Am I missing something obvious? ideas? Thanks!
Asked
Active
Viewed 345 times
2 Answers
1
Here is a way to do it:
- Create a large plane, subdivide it, create a sphere, create a small plane that you put at the same location as your sphere, subdivide this small plane, select all its vertices and create a vertex group:
- Give your small plane a Shrinkwrap modifier / Wrap Method > Project with the large plane as Target. Give your sphere a Copy Location constraint, with the small plane as Target and in Vertex Group select the vertex group you've created, enable the Z axis only.
- Create 2 empties, one under the large plane, the other one above, parent the bottom empty to the top empty, give your large plane a Warp modifier, choose the 2 empties in Object From and Object To, play with the Strength and Radius values, it will warp the plane surface:
- Select the sphere and the small plane, press AltD to duplicate along the X axis, press ShiftR to repeat the duplication. Do the same on the Y axis. Make the planes invisible, move the top empty to deform the plane and the spheres should follow:
moonboots
- 155,560
- 7
- 105
- 171
-
That will do just what I need. Thank you!! – Ben Beltman Feb 04 '21 at 14:04
-
Sorry I've forgotten some details in my text (about he Copy Location), but you must have guessed ;) – moonboots Feb 04 '21 at 19:33
-
Thanks. I was able to "interpolate" what I needed :). And got the results I was after. I am curious, though, about the advantage of the small subdivided plane. Why not just subdivide the large plane and instance the sphere to its' vertices? – Ben Beltman Feb 05 '21 at 16:14
-
it really depends on what you want, if you instance to the vertices, the instanced object won't be constrained on the Z axis, there may be a simpler solution than mine though – moonboots Feb 05 '21 at 16:39
-
1Hello 'boots :). I seems you can simply use a cast modifier for this: https://blender.stackexchange.com/a/211242/78972 (that guy is good) – jachym michal Feb 17 '21 at 14:18
-
oh ok, maybe add the link under his question – moonboots Feb 17 '21 at 17:24
1
You can also get this effect by using a cast modifier. Create a plane subdivide it. Then in the object properties for it, set instancing to vertices and add a cast modifier. Then create whatever you want to be moving up and down. Then set the relations in its object properties to be the plane you previously made. This should instance the rectangle to all the verts on the subdivided plane.
Now create an empty, and in the cast modifier settings you added to the line, set the object to be the empty. Make sure to clamp it to the Z axis as well in the modifier settings. Mess with the scale and radius settings until you get the effect you want.
Nascent Space
- 1,516
- 1
- 10
- 20



