Download

Issues Reducing Mass/Scale Over Set Amount Of Time

I’m trying to make a snowball grow as it’s rolled and shrink aka melt when it’s near a fire. I’ve got the growing bit down pat, but unfortunately haven’t been able to reverse this successfully.

Edit: IT IS WORKING, but it’s shrinking as SOON as it hits the fire overlap. I need to to SLOWLY decrease in size… Thanks!

Essentially, I’ve created the custom event, added a timeline, then lerp(d?) the larger mass by .5 over the duration of the alpha on the timeline. Then in the fire blueprint, I do an overlap event around teh fire, cast to the snowball and call the event to shrink the snowball.

All help is seriously appreciated! Thank you!

Bonus points to anyone who can tell me how to get it to work from it’s current in game scale lol

The A Input on the Lerp node should’t really have a constantly changing value. Rather it’s better to have it as set values (A=MinimumScale > B=Maximum Scale) for the Alpha to Lerp between cleanly. It might also be easier to use a Single Timeline to control the Increase and Decrease Alpha values. Hook up the Events (Shrink > Reverse, and Enlarge > Play, under the assumption your Timeline alpha increases over it’s duration). That way the Alpha value will pickup from where it left off at and give you a seemless transition no matter when you fire your Events.

use InterpTo:
https://forums.unrealengine.com/unre…ic-of-interpto

make your snow ball constantly going trough interpto (in event tick).
Then depending on environment set interpto target to different value (ball size), and interpto gradient to different values (how fast it needs to grow/shrink)

Ps. also compensate for time delta in event tick, so speed of growing is not FPS dependent

Brilliant!! After messing around with this a bit I got it to work. And I learned about a new node that will serve me well!

Now the only question is, how can I compensate for the tick? or how can one make this work without a tick?

I think I got it, basically in the fire blueprint it’s setting the overlap event, shrinking the ball, checking if the ball is still overlapping, If true, then I set a delay and from the delay it goes back to the shrink event where it will loop until the snowball is away from the fire. Thanks for your help!! :slight_smile:

Why don’t you scale it up over time, using deltatime node.

  1. use a lerp node from 1 to 5
  2. use deltatime node multiplied by decimals to control the size, i.e .5 for half the growth speed. Reverse the digits to do the opposite
  3. profit

To compensate you either multiply by delta time or divide, i just cannot remember which one. See in some templates how epic folks did it. Or maybe google can answer it. I think you multiply but i am not sure.