I have an animation of a needle going from left to right. So as the needle Animates in a semi circle, the Mask follows the animation of the needle revealing the background image. The problem I'm having is, the mask is awkwardly animating, stalling, & having parts of it delayed, the transition is not correct or smooth. I have a file to share which could make it easier to understand if someone can have a look at it.
-
$\begingroup$ Please add the link so I can upload it. Thank you. $\endgroup$– blender breathCommented Sep 10, 2020 at 7:31
-
$\begingroup$ blend-exchange.giantcowfilms.com $\endgroup$– moonbootsCommented Sep 10, 2020 at 7:32
-
$\begingroup$ <img src="https://blend-exchange.giantcowfilms.com/embedImage.png?bid=PLnDEB36" /> $\endgroup$– blender breathCommented Sep 10, 2020 at 7:34
-
$\begingroup$ I didn't know you could animate the Mask modifier, but what you can do is create some additional keyframes on the Threshold value so that if follows the needle more correctly, for example at frame 20 put the Threshold value at 0.920 $\endgroup$– moonbootsCommented Sep 10, 2020 at 7:43
-
$\begingroup$ You could also do this effect with a boolean $\endgroup$– moonbootsCommented Sep 10, 2020 at 7:48
3 Answers
Another way to do it would be to use the Screw modifier:
- Create a simple edge, move it away from its origin:
- Give it a Screw modifier, play with the Angle value:
-
$\begingroup$ Even better! That's the one, I reckon.. :) $\endgroup$– Robin Betts ♦Commented Sep 10, 2020 at 11:49
-
$\begingroup$ Hey guys, all work well, but I went with moon boots option since i had already started. The only confusion was the screw modifier I had to enter at frame 1: 360 and make the screw modifier go all around to 540 degree angle to get the right type of masking. Here's the video animation: streamable.com/gcqkpw and if someone would like to see the Screw modifier from curiosity, Im happy to upload the file. $\endgroup$ Commented Sep 10, 2020 at 13:11
You could use a curve instead of a mesh to make the mask.. then the keyable Bevel Start and Bevel End properties become available:
Make a 2D curve semicircle, with a Curve line-segment as Bevel Object, and animate the bevel.
-
$\begingroup$ .. or you do the whole thing with a shader, if the context allows.. $\endgroup$– Robin Betts ♦Commented Sep 10, 2020 at 10:47
-
$\begingroup$ so with this solution how does it hide what's behind? do you mean it has the same color as the background? I think we lack informations... $\endgroup$ Commented Sep 10, 2020 at 11:15
-
$\begingroup$ You mean the shader option? That would be a procedural transparency mask on the original dial, no separate masking object? Or a transparency mask on the masking object? Have I missed the whole point? I was just imitating the effect in the .blend file, but smoothly.. (I thought :) ) $\endgroup$– Robin Betts ♦Commented Sep 10, 2020 at 11:20
-
$\begingroup$ As I said I think we lack some informations from Blender Breath ;) $\endgroup$ Commented Sep 10, 2020 at 11:32
-
$\begingroup$ @moonboots Looking back at the file, it does seem to be weight-painting, which partly explains his problem.. the gradient is not truly along the curve. It would have been better to paint the gradient on a straight band, and then deform it to a semicircle. $\endgroup$– Robin Betts ♦Commented Sep 10, 2020 at 11:36
My 2 cents, using shaders... not sure if the rainbow was part of the question...
The quadrant is made from a 1cm height rectangle, array modifier and simple deform (bend) modifier.
Array is 285 steps. 285 is tuned after the bend modifier has been set up so that the arc has the good size.
The transparency is driven by the height in Z (from zero to 285). So the value node is keyframed appropriately. Don't forget to activate transparency if using Eevee.
The (optional) rainbow is the height (Z) clamped between 0 and 1. Z divided by 285.