Быстрый бег при нажатии на Shift
rambo Дата: Чт, 12 Апр 2012, 20:29 | Сообщение # 1
Сообщений: 16
Награды:
0
Репутация:
0
Статус: Offline
Всем здраствуйте, я сдесь с недавних пор! Если эта тема уже была, то простите, значит поиск мне не подчиняется! Вопрос таков: Как сделать при нажатии на кнопку шифт быстрый бег? Помогите нубу!!!
Сообщение Всем здраствуйте, я сдесь с недавних пор! Если эта тема уже была, то простите, значит поиск мне не подчиняется! Вопрос таков: Как сделать при нажатии на кнопку шифт быстрый бег? Помогите нубу!!! Автор - rambo Дата добавления - 12 Апр 2012 в 20:29
Денис Дата: Чт, 12 Апр 2012, 20:43 | Сообщение # 2
Сообщений: 5098
Награды:
23
Репутация:
910
Статус: Offline
Изучай туториал по Locomotion System...
Сообщение Изучай туториал по Locomotion System... Автор - Денис Дата добавления - 12 Апр 2012 в 20:43
rambo Дата: Чт, 12 Апр 2012, 20:46 | Сообщение # 3
Сообщений: 16
Награды:
0
Репутация:
0
Статус: Offline
Денис , Если не сложно, то можно ссылочку!!!
Сообщение Денис , Если не сложно, то можно ссылочку!!!Автор - rambo Дата добавления - 12 Апр 2012 в 20:46
Левша Дата: Чт, 12 Апр 2012, 20:51 | Сообщение # 4
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
Quote (Денис )
Изучай туториал по Locomotion System...
Не совсем в тему... Quote (rambo )
Как сделать при нажатии на кнопку шифт быстрый бег? Помогите нубу!!!
Code
var walkSpeed = 6.0; var runSpeed = 18.0 var jumpSpeed = 8.0; private var gravity = 30; private var moveDirection = Vector3.zero; function Update() { if (grounded) { moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); moveDirection = transform.TransformDirection(moveDirection); if (Input.GetKey ("left shift") && Input.GetKey ("x")) moveDirection *= runSpeed; else moveDirection *= walkSpeed; if (Input.GetKey ("backspase")) moveDirection.y = jumpSpeed; } moveDirection.y -= gravity * Time.deltaTime; var controller : CharacterController = GetComponent(CharacterController); var flags = controller.Move(moveDirection * Time.deltaTime); grounded = (flags & CollisionFlags.CollidedBelow) != 0; } @script RequireComponent(CharacterController)
PS. Переименуй название темы в осмысленное...
X.cor.R (Prologue)
Сообщение Quote (Денис )
Изучай туториал по Locomotion System...
Не совсем в тему... Quote (rambo )
Как сделать при нажатии на кнопку шифт быстрый бег? Помогите нубу!!!
Code
var walkSpeed = 6.0; var runSpeed = 18.0 var jumpSpeed = 8.0; private var gravity = 30; private var moveDirection = Vector3.zero; function Update() { if (grounded) { moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); moveDirection = transform.TransformDirection(moveDirection); if (Input.GetKey ("left shift") && Input.GetKey ("x")) moveDirection *= runSpeed; else moveDirection *= walkSpeed; if (Input.GetKey ("backspase")) moveDirection.y = jumpSpeed; } moveDirection.y -= gravity * Time.deltaTime; var controller : CharacterController = GetComponent(CharacterController); var flags = controller.Move(moveDirection * Time.deltaTime); grounded = (flags & CollisionFlags.CollidedBelow) != 0; } @script RequireComponent(CharacterController)
PS. Переименуй название темы в осмысленное... Автор - Левша Дата добавления - 12 Апр 2012 в 20:51
Денис Дата: Чт, 12 Апр 2012, 20:56 | Сообщение # 5
Сообщений: 5098
Награды:
23
Репутация:
910
Статус: Offline
rambo , DocumentationLS.rar Добавлено (12.04.2012, 20:54) --------------------------------------------- Ну можно впринципе и так.Просто новичку будет легче освоиться в уже готовой системе.Потыкает,понастроит,а потом и сам все поймет
Добавлено (12.04.2012, 20:56) --------------------------------------------- Переименовал
Сообщение rambo , DocumentationLS.rar Добавлено (12.04.2012, 20:54) --------------------------------------------- Ну можно впринципе и так.Просто новичку будет легче освоиться в уже готовой системе.Потыкает,понастроит,а потом и сам все поймет
Добавлено (12.04.2012, 20:56) --------------------------------------------- Переименовал
Автор - Денис Дата добавления - 12 Апр 2012 в 20:56
rambo Дата: Чт, 12 Апр 2012, 20:56 | Сообщение # 6
Сообщений: 16
Награды:
0
Репутация:
0
Статус: Offline
Левша , так как я со скриптами еще плохо, то обьясни это мне надо создать новый скрипт и туда это вставить???
Сообщение Левша , так как я со скриптами еще плохо, то обьясни это мне надо создать новый скрипт и туда это вставить???Автор - rambo Дата добавления - 12 Апр 2012 в 20:56
Левша Дата: Чт, 12 Апр 2012, 21:03 | Сообщение # 7
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
Quote (rambo )
это мне надо создать новый скрипт и туда это вставить???
Да, это полный FPS контроллер движения на wasd . Создашь пустой Js скрипт и туда скопируешь этот код. Скрипт повесишь на обьект. Удочеришь обьекту камеру. Ну там для полного комплекта еще 2 mouseLook скрипта нужно для обзора (стандартные скрипты, идут с редактором), на сам обьект и на камеру, с соответствующими осями обзора.
X.cor.R (Prologue)
Сообщение Quote (rambo )
это мне надо создать новый скрипт и туда это вставить???
Да, это полный FPS контроллер движения на wasd . Создашь пустой Js скрипт и туда скопируешь этот код. Скрипт повесишь на обьект. Удочеришь обьекту камеру. Ну там для полного комплекта еще 2 mouseLook скрипта нужно для обзора (стандартные скрипты, идут с редактором), на сам обьект и на камеру, с соответствующими осями обзора.Автор - Левша Дата добавления - 12 Апр 2012 в 21:03
commandoby Дата: Сб, 14 Апр 2012, 20:50 | Сообщение # 8
Unity 3D Free
Сообщений: 836
Награды:
3
Репутация:
211
Статус: Offline
Я попробую по другому. Если получится, то тут напишу. Добавлено (14.04.2012, 20:50) --------------------------------------------- Если вид от первого лица, то можно сделать так: 1. Открываем скрипт "CharacterMotor". 2.Добавляем одну переменную: 3.В этом же скрипте находим function GetDesiredHorizontalVelocity () (примерно 510 строка). 4.После строчки с сожержимым var maxSpeed : float = MaxSpeedInDirection(desiredLocalDirection); пишем: Code
var maxSpeed : float = MaxSpeedInDirection(desiredLocalDirection); maxSpeed = maxSpeed * an;
5.Создаём новый скрипт с содержимым: Code
function Update() { if (Input.GetKey(KeyCode.LeftShift)) { CharacterMotor.an = 1.5; } else { if (Input.GetKeyUp (KeyCode.LeftShift)) { CharacterMotor.an = 1; } } }
6.Вешаем скрипт на контроллер. Теперь легко и просто максимальная скорость контроллера при нажатии Shift увеличивается в 1.5 раза.
Блог.
Сообщение отредактировал commandoby - Сб, 14 Апр 2012, 20:54
Сообщение Я попробую по другому. Если получится, то тут напишу. Добавлено (14.04.2012, 20:50) --------------------------------------------- Если вид от первого лица, то можно сделать так: 1. Открываем скрипт "CharacterMotor". 2.Добавляем одну переменную: 3.В этом же скрипте находим function GetDesiredHorizontalVelocity () (примерно 510 строка). 4.После строчки с сожержимым var maxSpeed : float = MaxSpeedInDirection(desiredLocalDirection); пишем: Code
var maxSpeed : float = MaxSpeedInDirection(desiredLocalDirection); maxSpeed = maxSpeed * an;
5.Создаём новый скрипт с содержимым: Code
function Update() { if (Input.GetKey(KeyCode.LeftShift)) { CharacterMotor.an = 1.5; } else { if (Input.GetKeyUp (KeyCode.LeftShift)) { CharacterMotor.an = 1; } } }
6.Вешаем скрипт на контроллер. Теперь легко и просто максимальная скорость контроллера при нажатии Shift увеличивается в 1.5 раза. Автор - commandoby Дата добавления - 14 Апр 2012 в 20:50
rambo Дата: Вс, 15 Апр 2012, 11:03 | Сообщение # 9
Сообщений: 16
Награды:
0
Репутация:
0
Статус: Offline
commandoby , спасибо очень понятно
Сообщение commandoby , спасибо очень понятноАвтор - rambo Дата добавления - 15 Апр 2012 в 11:03
Gena Дата: Сб, 15 Ноя 2014, 21:30 | Сообщение # 10
Сообщений: 4
Награды:
0
Репутация:
0
Статус: Offline
commandoby , А как сделать что бы он назад не мог бежать?
Сообщение commandoby , А как сделать что бы он назад не мог бежать?Автор - Gena Дата добавления - 15 Ноя 2014 в 21:30
игнат Дата: Вс, 16 Ноя 2014, 13:13 | Сообщение # 11
Сообщений: 706
Награды:
0
Репутация:
107
Статус: Offline
Убираем часть кода.
Правила форума · участник GCC
Сообщение Убираем часть кода. Автор - игнат Дата добавления - 16 Ноя 2014 в 13:13