unity3d 在所有其他对象暂停时移动角色

i5desfxk  于 2023-05-01  发布在  其他
关注(0)|答案(2)|浏览(165)

我想做一个像矩阵一样的统一机制,但不是那样,时间是绝对暂停的,除了播放器当我按下一个键,当我再次按下它时,对象的时间恢复正常。我希望刚体不会变慢。就像是《耻辱》里的弯曲时间力量
我是新手,所以我不知道如何使一个独特的对象有它的正常时间和其他暂停,我只试图设置时间。timeScale为0,但显然它影响了所有对象。
有人能帮帮我吗

m528fe3b

m528fe3b1#

停止时间与Time.timeScale一样工作得很好,对于你的玩家,你可以使用Time.unscaledDeltaTime来计算它的移动(例如。例如CharacterController.Move()Update()中),对于e也是一样。例如,附接的相机,使得其仍然跟随玩家等。.
当时间被冻结(timeScale = 0)时,您需要自己处理对象的移动,因为物理系统也停止了。这对于复杂的物理模拟(如碰撞响应)可能非常困难,但对于简单的对象或角色/相机移动和简单的碰撞检查“相当”简单。对于后者,您可以使用Physics.SphereCast等创建连续碰撞检测。

wr98u20j

wr98u20j2#

谢谢!它就像把玩家的速度乘以Time.unscaledDeltaTime,然后用时间停止时间一样简单。timeScale = 0。

相关问题