Четверг, 18 Апреля 2024, 03:14

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Скрипт медленного приседания.
Скрипт медленного приседания.
loverain1Дата: Среда, 30 Мая 2012, 17:01 | Сообщение # 1
частый гость
Сейчас нет на сайте
Ребят ,как думаете ,как запилить именно медленное (реалистичное) приседание(для FPS)? Я вот голову ломаю ,все никак не могу. Пробовал скейлом - не получилось ,когда нужно вставать приходится приподнимать объект (камеру) выглядит не очень.
P.S Если такая тема есть ,глубоко извиняюсь ,не видел. Направьте туда.


WTF?
PalmarДата: Среда, 30 Мая 2012, 17:12 | Сообщение # 2
Pλlmar Games
Сейчас нет на сайте
Я конечно же не знаток, но могу предложить опускание цыклом...
Т.е. повторяется цыкл несколько раз, пока положение не достигнет нужной отметки, и за каждый раз отнимается еденичка от высоты камеры.
Тоже самое для отжатой клавиши, только наоборот.


loverain1Дата: Среда, 30 Мая 2012, 17:15 | Сообщение # 3
частый гость
Сейчас нет на сайте
Quote (Palmar)
Я конечно же не знаток, но могу предложить опускание цыклом...
Т.е. повторяется цыкл несколько раз, пока положение не достигнет нужной отметки, и за каждый раз отнимается еденичка от высоты камеры.
Тоже самое для отжатой клавиши, только наоборот.

Первая мысль в голове. Просто все сделать не получится. Я пытался smile Если вызывать цикл из If ,то он вызовится 1 раз sad


WTF?
BASSДата: Среда, 30 Мая 2012, 17:36 | Сообщение # 4
independent developer
Сейчас нет на сайте
А если if из цикла? Т.е., в каждой итерации проверять состояние клавиши: если нажата - уменьшить высоту, если отпущена - либо ничего не делать, либо увеличить высоту. Или по-другому: если была нажата клавиша, то установить логическую (boolean) переменную в true, нажата ещё раз - в false. И если эта переменная истинна, и высота больше определённого значения, то уменьшать высоту в каждом кадре.

Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.

Сообщение отредактировал BASS - Среда, 30 Мая 2012, 17:40
loverain1Дата: Среда, 30 Мая 2012, 17:40 | Сообщение # 5
частый гость
Сейчас нет на сайте
Quote (BASS)
А если if из цикла? Т.е., в каждой итерации проверять состояние клавиши: если нажата - уменьшить высоту, если отпущена - либо ничего не делать, либо увеличить высоту.

Проблема в том ,что нужно медленное приседание ,тупо менять высоту не получится. Все циклы ,типо do иди даже тот же mathf.Lerp (который не знаю ,является ли цыклом ,но думаю да) работают так : вызвались ,потом еще раз ,потом еще раз и т.д. В любом случае нужно вызывать метод или условие несколько раз. Это условие в любом случае нужно вызывать несколько раз. И вот тут у меня мозг кипит ,как из if вызвать условие n-ое кол-во раз smile


WTF?
BASSДата: Среда, 30 Мая 2012, 17:46 | Сообщение # 6
independent developer
Сейчас нет на сайте
Стоп-стоп-стоп. Если у вас есть главный цикл, то просто добавьте условие в него. И тогда в каждом кадре условие будет проверено.

Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
loverain1Дата: Среда, 30 Мая 2012, 17:50 | Сообщение # 7
частый гость
Сейчас нет на сайте
Так ,ребят ,вопрос снимается ,все сделал ,не скажу как ,т.к немного в проекте изменили концепт и задача облегчилась ,сделал все совсем по другому smile Всем спасибо за ответы.

WTF?
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Скрипт медленного приседания.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг