![]() |
Страницы (13): « Первая ... « 4 5 6 7 [8] 9 10 11 12 » ... Последняя » Показать все 187 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life FX (https://hlfx.ru/forum/forumdisplay.php?forumid=2)
-- Half-Life FX 0.7 beta (https://hlfx.ru/forum/showthread.php?threadid=3849)
marikcool, а теперь я тебе открою секрет (как практик): в процедурном языке можно написать тот же самый ОО-код, только члены класса станут членами структур типа FooStruct, а методы вместо Foo::DoSomething() будут выглядеть как Foo_DoSomething(FooStruct foo). Посмотри в код ВМ первокваки, там именно так и сделано. Ну, может, с той разницей, что вместо FooStruct foo там используется глобальная self, вовремя подменяемая нужным представителем структуры. По строчкам ты сэкономишь даже штуки три на класс. И это будет хорошо читаться и расширятся.
ООП - это не ключевые слова, а методология моделирования.
А то, что плагины под КС наговнокодены без ООП, нисколько не означает, что с ООП они были бы менее говнокодны. Дай дураку, как говорится.
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
Первым делом я перенесу в серверную ВМ - pmove, а в клиентскую - тоже pmove и целиком ev_hldm. Это безо всяких классов, чистый процедурный код. А дальше поглядим.
__________________
XaeroX, как думаешь, можно что-то сделать с физикой на ступеньках? Уж больно топорно игрок по ним ходит и, тем более, прыгает.
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
Scrama
Вроде же там есть интерполяция?
__________________
Везде, во всех играх без исключения игрок и NPC ходят по ступенькам именно так. Ну то есть может со стороны оно выглядит иначе, но в действительности это рывок с небольшим движением вперед.
А для визуализации используется инверсная кинематика, например.
Вот бы Ксерокс взял и прикрутил инверсную кинематику в халфу.
Сам же хвастался, ему ничего не сложно. Подумаешь мовевитч!
А вот инверсная кинематика - да!
Не колоизируют, а выполняют обратное движение - от самого дальнего ребенка в иерархии движение передается родителю, с учётом лимитов движения всех костей в иерархии. Вот допустим нога становится на ступеньку - мы двигаем туда только стопу, а солвер сам рассчитывает как именно следует пододвинуть остальные кости. Поэтому кинематика и называется инверсной.
Ну да. Под "колоизируют" я имел в виду сталкиваются с препятствием.
А то под инверсной кинематикой можно понимать не только такую фичу, а ещё и в целом систему анимации на основе следования за маркерами, как в 3д-пакетах.
Дядя Миша
Спорить не буду - ничего сложного в этом нет.
Но мне это пока не интересно.
Может, потом и прикручу.
Добавлено 15-03-2013 в 22:29:
Только непонятно, кто будет в модельки соответствующую инфу заносить..
Добавлено 15-03-2013 в 22:31:
__________________
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
__________________
Вы про то, чтобы моделька двигалась реалистично, и движение совпадало с анимацией? Если да то это делается не так и трудно. Для каждой ноги надо хранить её скорость (а точней вектор скорости не ноги, а подошвы). А дальше надо сделать трение. Если что - у меня в физ. движке сделано трение, можно подсмотреть, файл solver.cpp (я трение комментарием // friction выделил). Если там сложно, а там сложно потому что я warmstarting юзаю, то лучше посмотреть на геймдеве статью суслика "Солверы физических движков". Не знаю на сколько моя идея правильная, но если бы это делал я, то сделал бы именно так
Временная зона GMT. Текущее время 13:15. | Страницы (13): « Первая ... « 4 5 6 7 [8] 9 10 11 12 » ... Последняя » Показать все 187 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024