![]() |
Показать все 40 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Чему на самом деле равно ускорение в хл1? (https://hlfx.ru/forum/showthread.php?threadid=5144)
Чему на самом деле равно ускорение в хл1?
Работаю над движением игрока в небольшом личном проекте. Чтобы было от чего отталкиваться, решил для начала реализовать физику как в хл1 с теми же настройками. В хл1 по дефолту:
sv_friction = 4
sv_accelerate = 10
Сделал у себя так же. С трением все замечательно - игрок тормозит и скользит с разбегу очень похоже на то, как это происходит в хл1. А вот с ускорением проблема - оно слишком резкое: чуть дотронешься до клавиши, а игрок уже отлетает на приличное расстояние. И на поворотах его заносит.
Реализация ускорения у меня такая же как в PM_Accelerate, поэтому у меня две версии происходящего:
1. Значение sv_accelerate прежде чем попасть в PM_Accelerate домножается на какое-то другое значение, которое делает его меньше.
2. cmd.forwardmove и cmd.sidemove изменяются при нажатии клавиш не резко, а плавно.
Есть кто-нибудь, кто разбирается?
__________________
XaeroX
PM_FlyMove скопирована почти один в один, PM_Friction тоже работает как в хл1, включая влияние sv_stopspeed, только edge friction не учитывается. PM_WalkMove я не копировал - у меня своя реализация, но делает она по сути то же самое, с двумя отличиями: игрок ускоряется вдоль пола а не вдоль плоскости XY, и пока не реализовано хождение по ступенькам.
В целом игрок двигается очень похоже, только вот с ускорением проблемы.
Личный проект на Unity?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша нет, на уе4.
В общем, разобрался - я дурак и перепутал pmove->friction и pmove->movevars->friction. В результате я перемножал sv_accelerate и sv_friction - при ускорении 40 неудивительно, что игрок был резким как понос...
Теперь все отлично работает
ЗЫ. Я же правильно понимаю, что pmove->friction это внешнее влияние, типа скользкости пола?
Government-Man модификатор. по умолчанию еденица там.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Government-Man а разве в УЕЧ СДК нет физики? o_O Или это эксперимент просто?
ЗЫ: в PM_Friction я год назад что-то фиксил. Но уже не помню. В ХЛ что-то было не доделано.
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
__________________
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Удивительное дело с этими Эпиками, написали аж 10 тысяч строчек кода - а людям не нравится. Вот КАК они это делают?
__________________
XaeroX эмм, ну в халфе pm_shared 3300 строчек кода. Всего в три раза меньше. Но нашему другу с ними отчего-то разбираться не лень.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Секрет в том, что в pm_shared далеко не вся "физика"
А я вспомнил, что мы с Царём пилили год назад - скольжение. Т.е. чтоб нельзя было стоять неподвижно на скользкой наклонной поверхности. Кстати, это есть в Unreal, но нет в HL. Теперь есть в XDM. И ещё теперь есть разное трение у разных материалов.
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
__________________
В кваке были скользкие поверхности? o.O
Я знаю только 3 игры, где реально есть скольжение - HL1, Serious Sam, Unreal + RTNP. Ну ок, ещё на nintendo было скольжение где-то
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
__________________
XaeroX помоему это баг такой был. Я не могу это воспроизвести.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша игрок, будучи на земле, считал, что он в воздухе, что ли?
Кстати я в своей реализации на уе4 как раз тоже реализовал скольжение. Правда не со скользких поверхностей, а с поверхностей выше определенного угла наклона. Ну помните в хл1, обладая достаточным терпением, можно было забраться на любую наклонную поверхность? У себя я сделал так, чтобы если поверхность "почти вертикальная" то игрок (если он ходит по земле) врезается в нее как в вертикальную, а вот если она заметно наклонная, но забраться на нее уже нельзя, то игрок с нее мягко соскальзывает.
Government-Man запусти кваку сначала и стань на уклоне в тоннель со скиллом Normal. Игрок будет очень медленно соскальжевать. Я хрен знает что это такое.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша ну навскидку, там и нет ничего, что запрещало бы игроку соскальзывать - квака же не обнуляет вертикальную скорость в SV_WalkMove, вот игрок под действием гравитации и соскальзывает. А халфа в PM_WalkMove - обнуляет.
А мы фиксили скольжение вверх по наклонным плоскостям в ХЛ. )
Особенно весело было в конце Timeline 2: Iced Earth разгоняться и забираться на саночную горку. )
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Government-Man да нет, там не так всё просто. Там есть специальный код, который пытается игрока подвинуть вниз.
1 | VectorCopy (vec3_origin, upmove); |
2 | VectorCopy (vec3_origin, downmove); |
3 | upmove[2] = STEPSIZE; |
4 | downmove[2] = -STEPSIZE + oldvel[2]*host_frametime; |
5 |
6 | // move up |
7 | SV_PushEntity (ent, upmove); // FIXME: don't link? |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша
В куврапе ты ведь соскальзывание убрал?
nemyax я его не убрал, я его наоборот хочу восстановить, потому что прикольно.
Добавлено 04-12-2018 в 01:30:
Может заодно и тот мод со слайдингом починится. И квейк-ралли.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Кстати, попробую-ка запилить материал с 0 friction - посмотрю, что будет... А то вдруг и func_friction не нужен Хотя, для совместимости всё равно придётся оставить.
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша причём тут эдикты? я про материалы. А фрикшен в эдиктах в XDM учитывается, кстати. Но только у игроков, увы.
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
А, ну в материалах можно намутить будет.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Government-Man по поводу первого поста темы
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша ну там были комментарии типа "кнопка отжата, потом нажата, потом снова отжата" итп, я так перефразировал. Вы так буквально воспринимаете всё, это непривычно.
Добавлено 18-03-2019 в 12:15:
Я думаю там просто копится массив значений и потом берутся крайние.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 16:29. | Показать все 40 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024