Персонаж в unity вилетает со сцены?

Обучаюсь движку Unity5. Когда вставляю скрипт передвижения
public class FPSInput : MonoBehaviour {
	public float speed = 6.0f;
	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
		float deltaX = Input.GetAxis ("Horizontal") * speed;
		float deltaZ = Input.GetAxis ("Vertical") * speed;
		transform.Translate (deltaX, speed, deltaZ);
	}
}

В чем пожет быть проблема. Приставлять колайдери пробовал, is trigger - не поставлен.
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
MrMureno
@MrMureno
VR for all
вам как минимум надо дельту на апдеите умножать на Time.deltaTime - чтобы было плавно.
иначе получается что вы там придаете очень такую нехилую скорость.
https://docs.unity3d.com/ScriptReference/Time-delt...
вот почитайте что это такое.
ну и чтоб учитывало корректно коллайдеры - вам правильно советует Даниил Басманов двигать через физику

но при огромных значениях - даже честный просчет не поможет) "протолкнется" сквозь коллайдер или станет неадекватно вести себя
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Translate игнорирует коллайдеры, если хотите двигать по физике, то используйте AddForce или MovePosition.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
YOPS LTD Санкт-Петербург
от 30 000 до 48 000 руб.
CSBI Санкт-Петербург
от 60 000 до 80 000 руб.
Кнопка Екатеринбург
До 100 000 руб.
14 авг. 2018, в 16:33
1000 руб./за проект
14 авг. 2018, в 16:15
6000 руб./за проект
14 авг. 2018, в 16:12
500 руб./за проект