0
$\begingroup$

I've searched and found some ineffective "solutions" to the issue I am experiencing.

I am animating a flickering candle flame and there is probably a much easier/more effective way to do this, however, I'm extremely new to Blender and CGI in general.

I have an object that I applied my candle flame shader to and opted to use a Noise modifier in the Graph Editor to manipulate the X, Y and Z scale of said object.

Mixing in an emission shader to the object did not give the effect I was going for. I opted to add a point light behind the object and again, use a Noise modifier in the Graph Editor to manipulate the Power and Z location. I also added a low Watt point light in front of the object, to illuminate the front surface, since the light behind washed out the flame shader due to transparency. (I believe)

I've been able to closely match the power of the light to the flame "flicker" size as well.

Where I'm falling short is the seamless loop of the animation. My first and last frames are not even close so there is a stutter at the end/beginning of the animation loop.

I have tried to manually set keyframes at the start and end of the animation. (Did not work) I have tried to use the Restrict Frame Range setting with just the Noise modifier. (Did not work) I tried to switch from Eevee to Cycles and use the Restrict Frame Range setting with that as well. (Did not work)

I really want to stick with Eevee as the Render Engine using Blender 2.8.

I suppose the gist of all this are the questions I have. 1) Is there a more effective/more simple way to achieve this effect using Eevee? 2) Is there a way to make the loop seamless while using the Noise modifier without having to endlessly tinker with the Noise settings to align the first and last frames?

The video is here: https://youtu.be/qjzqhZsvGBw

There is no audio since I don't have a mic yet.

$\endgroup$
0
$\begingroup$

I would try to adjust the animation length so that it fills two conditions:

  • animation ends with curve going the same direction as when it ends - in your example, at start your curve 'falls down', so you should end your animation when curve falls down.
  • I would make sure it ends just before reaching same value as it had on start.

It might not be perfect, due to different momentum, but might get you close enough

| improve this answer | |
$\endgroup$
  • $\begingroup$ Thanks for the info. I didn't realize the curves were not going in the same up or down direction at the start and end. I am aware of the offset frames to make things smooth with either a -1 start or +1 end so the last frame is not identical to the first frame. Again, this is taking so much tweaking, which I'm trying to avoid, but seems like I'll just have to spend the time. $\endgroup$ – Digitz Dec 19 '19 at 15:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.