Transform.Translate and yield showing inaccurate results?

I’ve been playing around with “fake” slow motion (I can’t use Time.timeScale because the project needs to have multiple layers of slow motion) and it turns out when you

Translate(x, 0, 0) and yield (x seconds) it’s not the same as

Translate (x * y, 0, 0) and yield (x / y seconds)

Anyone know why that is?

Without actual code, I don’t know what you’re doing, but I’m not sure why you’re using yield. You can have a “slow motion factor” and just multiply by that. i.e.,

transform.Translate(direction * speed * speedModifier * Time.deltaTime);

So if speedModifier is .5, then the speed will be half what it would be normally. You could change the speed directly of course, but it would probably be useful to have the modifier as a separate variable.

–Eric

Yeah that’s what I’m doing but I need to turn that on and off with a boolean that is changed after yielding. And it want it to be slower but still end up in the same place