So, I want to decrease the timescale in a select area designated by the player. Everything else around it will move normally, but inside the circle, I want things to move slowly. Can I alter specific gameobjects' timescales in an area?
I could use Physics.OverlapSphere to get all objects in the area, I just don't know how (if) I can apply a slow to them without giving them all their own individual timescale variables.
You can't change an object's individual timescale. I'm afraid you'll have to write your own time-control engine for this.
You could create a collider box defining your area and with an if statement in all the update functions of all the objects concerned(...)you check if they are in and then apply a division to their movement speed. Make sure you divide also the gravity...so that sounds like a lot of work.
Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.
The best place to ask and answer questions about development with Unity.
To help users navigate the site we have posted a site navigation guide.
If you are a new user, check out our FAQ for more information.
If you are a moderator, see our Moderator Guidelines page.
We are making improvements to UA, see the list of changes.
Answers and Comments
6 People are following this question.
how to get smooth slow motion?
Lots of !IsFinite() Errors and FPS crawling to a halt - How to debug?
Stop force from being applied during pausescreen
Can't really pause my game
How slow motion everything except animation