Многих интересует как создать ускорение в бегу(спринт) вот мой урок
Для начала создадим скрипт и назовем его playermove
Откроем его и напишет три переменные и один приватный класс Vector3
Код
var speed : float = 6.0;
var jumpSpeed : float = 8.0;
var gravity : float = 20.0;
private var moveDirection : Vector3 = Vector3.zero;
Дальше создадим function Update которая будет отвечать за прыжок и передвижение
Код
function Update() {
var controller : CharacterController = GetComponent(CharacterController);
if (controller.isGrounded) {
moveDirection = Vector3(Input.GetAxis("Horizontal"), 0,
Input.GetAxis("Vertical"));
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;
Дальше если мы нажмём на клавишу Run скорость нашего персонажа умножится на 2, если мы нажмём на прыжок наш персонаж начнёт перемещение по оси Y
Код
if (Input.GetButton ("Run")) {
moveDirection *= 2;
}
if (Input.GetButton ("Jump")) {
moveDirection.y = jumpSpeed;
}
}
moveDirection.y -= gravity * Time.deltaTime;
// Move the controller
controller.Move(moveDirection * Time.deltaTime);
}
Дальше мы должны назначить кнопку Run для этого мы открываем edit => Project Setting => Input
Input
Там в строке Size создаем новую кнопку(не знаю как у вас но у меня их было 17 я место 17 написал 18).
Дальше открываем нашу новую кнопку и переименовываем её в Run.
Рядом со строкой Positive Button пустое поле щелкаем на него и пишим left shift
Дальше кидаем наш playermove на нашего персонажа и удаляем у него скрипты Charecter Motor и FPS Input Controller
Все на этом всё спасибо за внимание.
Ставьте плюсы.