Голосование за лучший ответ
Паша Блохин
Ученик
(171)
4 года назад
сделай скрипт с переменной обьекта игрока и два float, один приватный. Тот что публичный это время за которое надо вернуться обратно, так что решай сколько надо сам. Приватный float = публичному. И добавь войды если войдёт и если выйдет из тригера. Если выйдет то публичный флот -=time.Deltatime;. Если вернёться то публичный равен приватному. А если публичный флот равен меньше нули то пиши скрипт смерти игрока ( я просто хз какая у тебя смерть в игре)
Сергей Шиманский
Мудрец
(11399)
4 года назад
либо поставить коллайдеры не пускающие,
либо ограничить перемещение игрока как тут:
void FixedUpdate ()
{
float moveHorizontal = Input.GetAxis ("Horizontal");
float moveVertical = Input.GetAxis ("Vertical");
Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
rigidbody.velocity = movement * speed;
rigidbody.position = new Vector3
(
Mathf.Clamp (rigidbody.position.x, boundary.xMin, boundary.xMax),
0.0f,
Mathf.Clamp (rigidbody.position.z, boundary.zMin, boundary.zMax)
);
rigidbody.rotation = Quaternion.Euler (0.0f, 0.0f, rigidbody.velocity.x * -tilt);
}
Пользователь удален
Мастер
(1334)
4 года назад
либо поставить коллайдеры не пускающие,
либо ограничить перемещение игрока как тут:
void FixedUpdate ()
{
float moveHorizontal = Input.GetAxis ("Horizontal");
float moveVertical = Input.GetAxis ("Vertical");
Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
rigidbody.velocity = movement * speed;
rigidbody.position = new Vector3
(
Mathf.Clamp (rigidbody.position.x, boundary.xMin, boundary.xMax),
0.0f,
Mathf.Clamp (rigidbody.position.z, boundary.zMin, boundary.zMax)
);
rigidbody.rotation = Quaternion.Euler (0.0f, 0.0f, rigidbody.velocity.x * -tilt);
}