Создаем FPS в Unity3D [текст].
commandoby Дата: Вс, 15 Апр 2012, 11:28 | Сообщение # 21
Unity 3D Free
Сообщений: 836
Награды:
3
Репутация:
211
Статус: Offline
О, спасибо. Теперь не влезает в потолок. Добавлено (15.04.2012, 11:28) --------------------------------------------- Кстати, этот скрипт можно ещё модернезировать, если добавить ещё один boolean: Code
var bf : boolean = false;
а скрипт выглдит так: Code
var controller : CharacterController; var oldHeight; var newHeight: float; var newPos; var bf : boolean = false; function Start () { controller = GetComponent(CharacterController); oldHeight = controller.height; } function Update() { newPos = new Vector3(transform.position.x, transform.position.y + 0.7f, transform.position.z); if (Input.GetKey(KeyCode.LeftControl)) { controller.height = newHeight; bf = true; } else { if (Input.GetKeyUp (KeyCode.LeftControl) && !Physics.Raycast (transform.position, Vector2.up)) { controller.height = oldHeight; transform.position = newPos; bf = false; } else { if (bf == true && !Physics.Raycast (transform.position, Vector2.up)) { controller.height = oldHeight; transform.position = newPos; bf = false; } } } }
Теперь, если над головой не оказывается блока, а ctrl не нажата, контроллер автоматически встаёт.
Блог.
Сообщение отредактировал commandoby - Вс, 15 Апр 2012, 12:55
Сообщение О, спасибо. Теперь не влезает в потолок. Добавлено (15.04.2012, 11:28) --------------------------------------------- Кстати, этот скрипт можно ещё модернезировать, если добавить ещё один boolean: Code
var bf : boolean = false;
а скрипт выглдит так: Code
var controller : CharacterController; var oldHeight; var newHeight: float; var newPos; var bf : boolean = false; function Start () { controller = GetComponent(CharacterController); oldHeight = controller.height; } function Update() { newPos = new Vector3(transform.position.x, transform.position.y + 0.7f, transform.position.z); if (Input.GetKey(KeyCode.LeftControl)) { controller.height = newHeight; bf = true; } else { if (Input.GetKeyUp (KeyCode.LeftControl) && !Physics.Raycast (transform.position, Vector2.up)) { controller.height = oldHeight; transform.position = newPos; bf = false; } else { if (bf == true && !Physics.Raycast (transform.position, Vector2.up)) { controller.height = oldHeight; transform.position = newPos; bf = false; } } } }
Теперь, если над головой не оказывается блока, а ctrl не нажата, контроллер автоматически встаёт. Автор - commandoby Дата добавления - 15 Апр 2012 в 11:28
seaman Дата: Вс, 15 Апр 2012, 11:39 | Сообщение # 22
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
Так и у меня встает автоматом. В смысле - перс встает
Сообщение Так и у меня встает автоматом. В смысле - перс встает Автор - seaman Дата добавления - 15 Апр 2012 в 11:39
commandoby Дата: Вс, 15 Апр 2012, 12:54 | Сообщение # 23
Unity 3D Free
Сообщений: 836
Награды:
3
Репутация:
211
Статус: Offline
Да? Значит не заметил. Ну теперь есть 2 рабочих хороших скрипта приседания на UJS.
Блог.
Сообщение отредактировал commandoby - Вс, 15 Апр 2012, 12:56
Сообщение Да? Значит не заметил. Ну теперь есть 2 рабочих хороших скрипта приседания на UJS. Автор - commandoby Дата добавления - 15 Апр 2012 в 12:54
123_XanteR_456 Дата: Вс, 03 Июн 2012, 18:30 | Сообщение # 24
Сообщений: 169
Награды:
0
Репутация:
35
Статус: Offline
Хмм... А как лучше всего сделать,что бы контроллер вставал плавно? Приседает плавно,а встаёт резко.. Нехорошо! Пробовал через * Time.deltaTime * 10 ,дак он ваще перемещается куда то вниз и в бок..(((
Неплохо знаю JavaScript(Unity3D API) =)
Сообщение Хмм... А как лучше всего сделать,что бы контроллер вставал плавно? Приседает плавно,а встаёт резко.. Нехорошо! Пробовал через * Time.deltaTime * 10 ,дак он ваще перемещается куда то вниз и в бок..((( Автор - 123_XanteR_456 Дата добавления - 03 Июн 2012 в 18:30
CoMMoN Дата: Пн, 10 Сен 2012, 16:40 | Сообщение # 25
Сообщений: 11
Награды:
0
Репутация:
0
Статус: Offline
А подробно можно описать как настраивать? я просто еще не вьехал что и как и не понял что перетаскивать в поле контролер?!?
Сообщение А подробно можно описать как настраивать? я просто еще не вьехал что и как и не понял что перетаскивать в поле контролер?!? Автор - CoMMoN Дата добавления - 10 Сен 2012 в 16:40
ZedRot Дата: Вс, 02 Дек 2012, 21:21 | Сообщение # 26
Сообщений: 21
Награды:
0
Репутация:
2
Статус: Offline
Seaman, я взял твой скрипт и есть одна проблема, персонаж пробивает пол, но все остальное работает норм. У commandoby перс только присидает, но не встает)))
Сообщение Seaman, я взял твой скрипт и есть одна проблема, персонаж пробивает пол, но все остальное работает норм. У commandoby перс только присидает, но не встает))) Автор - ZedRot Дата добавления - 02 Дек 2012 в 21:21
seaman Дата: Пн, 03 Дек 2012, 09:08 | Сообщение # 27
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
Попробуй подобрать тут: transform.position.y = transform.position.y - dist + 0.01f; цифру 0.01f - поставить побольше.
Сообщение Попробуй подобрать тут: transform.position.y = transform.position.y - dist + 0.01f; цифру 0.01f - поставить побольше. Автор - seaman Дата добавления - 03 Дек 2012 в 09:08
madballer34 Дата: Ср, 19 Дек 2012, 15:01 | Сообщение # 28
Сообщений: 5
Награды:
0
Репутация:
4
Статус: Offline
А будет продолжение уроков? А то хотелось бы узнать как реализовать плавное покачивание оружия во время ходьбы или бега. Может кто-нибудь подкинуть уроков по анимации оружия?
Сообщение А будет продолжение уроков? А то хотелось бы узнать как реализовать плавное покачивание оружия во время ходьбы или бега. Может кто-нибудь подкинуть уроков по анимации оружия? Автор - madballer34 Дата добавления - 19 Дек 2012 в 15:01
Eren_Jaeger Дата: Вс, 21 Июл 2013, 22:00 | Сообщение # 29
Сообщений: 1
Награды:
0
Репутация:
0
Статус: Offline
Я чего то не понял ? Или 2 часть урока действительно написана не до конца ?
Сообщение Я чего то не понял ? Или 2 часть урока действительно написана не до конца ? Автор - Eren_Jaeger Дата добавления - 21 Июл 2013 в 22:00