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 post good questions and use the site effectively we have posted a user 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.
For troubleshooting common problems with Unity 5.x Editor (including Win 10).
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