Я новичок в разработке игры в unity3d. Я только что нашел скрипт для перемещения персонажа. Итак, я просто немного запутался в этом сценарии. Вот код, который я не понимаю.
if (Input.GetAxis ("Vertical") == 0 && Input.GetAxis ("Horizontal") == 0) {
animator.SetFloat ("PlayerState", IDLE);
}
Я не понимаю строки: animator.SetFloat("PlayerState", IDLE);
Что такое PlayerState и IDLE? Я знаю, что это параметр. Является ли IDLE переменной? Как это работает? Можете ли вы просветить меня, ребята?
PS: В исходном коде, который я нашел, вы на самом деле не видите никаких переменных.
Добавлен код
Еще один код, который я не понимаю. Предположим, что игрок держит клавиши LShift и W, тогда персонаж будет бегать, верно? Как скрипт проверяет аниматора, будет ли работать персонаж? Другое дело, что, поскольку у меня есть переменная RUN со значением 4f, я удалю строку moveSpeed = 4f; или нет?
Вот скрипт:
if (Input.GetKey (KeyCode.LeftShift)) {
if (Input.GetAxis ("Vertical") > 0) {
moveSpeed = 4f;
Quaternion turnAngle = Quaternion.Euler (0, centerPoint.eulerAngles.y, 0);
character.rotation = Quaternion.Slerp (character.rotation, turnAngle, Time.deltaTime * rotationSpeed);
animator.SetFloat ("PlayerState", RUN);
}
}