0
$\begingroup$

I am trying to keyframe the shrinkwrap modifier so that a label appears on a surface in an animation. If I select the frame and keyframe the shrinkwrap modifier (by right clicking on the Wrap Method and adding a keyframe) that works but it effects the modifier right from that start of the animation. If you want to animate a movement from A at frame 10 to B at frame 40 you put keyframes in frames 10 and 40. What I am doing with the shrinkwrap modifier is missing out the initial condition keyframe. How is this achieved?

$\endgroup$
2
  • $\begingroup$ How is the title ("How to hide domain cube in fluid sim") related to the text (which is about the Shrink Wrap modifier)? $\endgroup$
    – Blunder
    Jul 9, 2021 at 19:17
  • $\begingroup$ I aborted another question and forgot to change the title. $\endgroup$
    – ragim_w
    Jul 9, 2021 at 20:16

2 Answers 2

0
$\begingroup$

The shrinkwrap modifier uses the vertices from your object that you are keying. It's like trying to key a vertex, this is not possible or not possible in this manner. Maybe you could try cloth simulation in combination with weight painting.

$\endgroup$
2
  • $\begingroup$ The closest I found to an answer about can you/how to keyframe modifiers was by John Williamson 8 years ago. He said, "You sure can! You can animate any of the values in the modifiers by Right Clicking on the field and choosing Insert Keyframe. Then insert another frame further down the timeline where you wish." I wish I knew what he meant by the final sentence. $\endgroup$
    – ragim_w
    Jul 9, 2021 at 20:27
  • $\begingroup$ @ragim_w it means once you have set the keyframe on a given time frame, you have to change the current frame using the timeline editor and then change the value, set the keyframe again. The inbetween values will be interpolated $\endgroup$
    – Gorgious
    Jul 10, 2021 at 11:32
0
$\begingroup$

Certain things in Blender can be interpolated. If you animate the offset of a shrinkwrap modifier, that's a number, so if it's set to 10.0 at frame 1 and 1.0 at frame 10, Blender can go, "Okay, so it should probably be 5.0 at frame 6 then."

But some things can only interpolate constantly. There's no value between "Nearest Surface Point" and "Project". Blender wouldn't know how to interpolate between those two things, so it creates constant interpolation: the value stays what it is, until it hits a keyframe, at which point it changes completely to the new value.

For a lot of modifiers where things don't interpolate properly like that, we could use double modifiers, vertex groups, and animated vertex weight edit modifiers to mix. For a shrinkwrap, that won't quite work; doing two shrinkwraps at half strength is nothing like doing either shrinkwrap at full strength.

So for your goal, what I'd do is duplicate my object, disable rendering on the duplicate, give the original a surface deform modifier targeting the duplicate, and bind that modifier. Then, we can animate the surface deform's strength to interpolate between some given deformation of the mesh before the surface deform, and the deformation of the duplicate:

enter image description here

Here, my rendering object's shrinkwrap is disabled, for purposes of rendering; as shown, if I enable that shrinkwrap, the mesh will be halfway between its Nearest Surface Point shrinkwrap and the duplicate's Project X shrinkwrap.

$\endgroup$

You must log in to answer this question.

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