Суббота, 09 Ноября 2024, 05:02

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Проблема с физикой прыжка в Unity3D
killing002Дата: Среда, 06 Февраля 2019, 18:38 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Реализовываю механику прыжка, через Character Controller. Прописал механику гравитации, задал определенную силу прыжка. Реализовал сам прыжок через метод Move(), в Controller' е. То есть создавался вектор и по "y" координате задавалась некая сила. Все работает нормально. Но есть одно "но". Например, из 10 прыжков - 1 или 2 раза персонаж прыгнет немного выше, чем заданная сила прыжка. Я не могу понять, что происходит. Советовали Умножать константу силы прыжка на Time.deltaTime. Но я изначально так делал. То есть- не помогло. Есть у кого, какие мысли?

123
blackcatkpiДата: Среда, 06 Февраля 2019, 21:10 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
хз. Надо код видеть.

ДанилаСтержневДата: Среда, 06 Февраля 2019, 23:41 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Не надо реализовывать то, что уже есть

Красочная сюжетно ориентированная игра-головоломка
drcrackДата: Среда, 06 Февраля 2019, 23:53 | Сообщение # 4
старожил
Сейчас нет на сайте
так этого нет
прыжки/приземления вообще в крайне печальном состоянии находятся у стандартных контроллеров
обычно приходится либо самому дописывать, либо покупать что-то в ассет сторе

у дефолтных нет даже банального падения с поверхностей по которым нельзя ходить (т.е. под углом больше slope limit)
подняться на такую нельзя, но если ты там оказался — можешь ходить в горизонтальной плоскости как бы прилипнув к стене
еще пример: https://docs.unity3d.com/ScriptR....ry.html до сих пор не работает с террейном (+только щаз заметил что в документации сказано "static objects" т.е. с динамическими и созданными во время игры обьектами тоже не работает)
и еще тысяча багов и недоработок


Сообщение отредактировал drcrack - Среда, 06 Февраля 2019, 23:58
IrbisДата: Четверг, 07 Февраля 2019, 12:16 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Цитата
Не надо реализовывать то, что уже есть

В текущем контексте это очень хреновый совет, даже если учесть, что ТС подойдет стандартный прыжок)


Сообщение отредактировал Irbis - Четверг, 07 Февраля 2019, 12:17
killing002Дата: Четверг, 07 Февраля 2019, 13:19 | Сообщение # 6
почетный гость
Сейчас нет на сайте
Я понял, в чем проблема была. Если кому-то интересно, то "AddForce и прочие кумулятивные изменения надо делать именно в FixedUpdate". То есть, я просто вычисления процесса прыжка поместил в FixedUpdate, и все пошло как по маслу. Всем спасибо, за отзывчивость.

123
drcrackДата: Четверг, 07 Февраля 2019, 13:25 | Сообщение # 7
старожил
Сейчас нет на сайте


И не забудь еще deltaTime убрать, внутри FixedUpdate оно всегда равно тому что выставлено в настройках проекта (0.02 вроде по дефолту)


Сообщение отредактировал drcrack - Четверг, 07 Февраля 2019, 13:25
  • Страница 1 из 1
  • 1
Поиск:

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