Создаем FPS в Unity3D [текст]. - Страница 2 - Форум Игроделов
Чт, 25 Апр 2024, 14:01 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Форум Игроделов » UNITY3D » МАНУАЛЫ И УРОКИ » Создаем FPS в Unity3D [текст].
Создаем 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
Так и у меня встает автоматом.
В смысле - перс встает biggrin
 
СообщениеТак и у меня встает автоматом.
В смысле - перс встает biggrin

Автор - seaman
Дата добавления - 15 Апр 2012 в 11:39
commandobyДата: Вс, 15 Апр 2012, 12:54 | Сообщение # 23
Unity 3D Free
 
Сообщений: 836
Награды: 3
Репутация: 211
Статус: Offline
Да? Значит не заметил. biggrin Ну теперь есть 2 рабочих хороших скрипта приседания на UJS.

Блог.

Сообщение отредактировал commandoby - Вс, 15 Апр 2012, 12:56
 
СообщениеДа? Значит не заметил. biggrin Ну теперь есть 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
Форум Игроделов » UNITY3D » МАНУАЛЫ И УРОКИ » Создаем FPS в Unity3D [текст].
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024