Loading video...

Video Failed to Load

Go Home

Did you know that in Blender you can easily animate oscillating objects with a single driver expression? ✨ 1. Select your object 2. In its rotation write: "# sin(frame / 300 * pi * 2 * 3) * 0.5" where 3 is the number of swings it does, and...

295,946 views • 3 years ago •via X (Twitter)

11 Comments

passivestar's profile picture
passivestar2 years ago

wait I can repost old stuff and still get likes? 😳

Quackers's profile picture
Quackers3 years ago

Great tip! Another thing you might want to know is that "2 * pi" is a value that pops up quite often in formulas that there's a name for it. It's called "tau", and Blender actually recognizes it as a constant, which is pretty sweet as it makes a lot of expressions simpler.

passivestar's profile picture
passivestar3 years ago

yeah I checked and tau actually works, good catch! 👍

SMOUSE 🔸's profile picture
SMOUSE 🔸3 years ago

I'm relatively new to drivers... Sin(frame/15.9)*0.5 gives the exact same result. Are the extra variables just for human readability and control?

passivestar's profile picture
passivestar3 years ago

yes, exactly! those kind of micro-optimizations aren't relevant even in realtime code anymore (like gamedev), let alone blender driver expressions that only run once per frame. compilers are smart enough to do those optimizations for you in most cases anyways

Bleddy's profile picture
Bleddy3 years ago

Oi! Blender is hard enough already! No need to throw math in there as well.

passivestar's profile picture
passivestar3 years ago

😅

Carlos Barreto's profile picture
Carlos Barreto3 years ago

Great tip. You are not passive star, you are active for sure, so many tips 😍

passivestar's profile picture
passivestar3 years ago

Thanks 😅

kureii's profile picture
kureii3 years ago

For optimization, you should simplify your formula: frame /300 * pi *3 * 2 can be simplified to frame/50 * pi. This will remove 2 multiplications from what the CPU has to do per frame.

passivestar's profile picture
passivestar3 years ago

No need to, python precalculates those for you

Related Videos