![]() |
Страницы (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. Текущее время 11:32. | Страницы (13): « Первая ... « 4 5 6 7 [8] 9 10 11 12 » ... Последняя » Показать все 187 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024