Проблема с физикой прыжка в 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 |
|
| |