19.7.09

Stacker

Вашему вниманию предлагается первая публичная версия одного из моих долгостроев. Это инструмент для гарисмода *терпеливо ожидает, пока все кто не в теме покидают страницу*. Тем кто в теме спешу пояснить, что в этот раз я не изобретал велосипед (sic!), я приделал к нему моторчик, вибромассажёр седла и подогрев педалей.
Будучи заложенным в конце января, долгострой уже тогда был не так уж безнадёжен, и я почти закончил его к марту. Но по традиции дело застопорилось, и вернулся я к нему только пару недель назад. В нём конечно много чего ещё можно исправить и доработать, код по большей части не блещет хорошей организацией, но я решил во что бы то ни стало довести дело до мало-мальски презентабельного вида. :)

Изначально планировалась скромная инъекция в код существующего тула за авторством Greg "OverloadUT" Laabs, чтобы тул смог стачить наиболее используемые энтити, а не только prop_physics, чего лично мне очень не хватало. Однако аппетит пришёл во время. Я перелопатил и перекроил усё.

Итоги:
  • Стакинг «на движке» дупликтора. Думаю, нет нужды пояснять что это означает. ;)
  • «Эргономичный» интерфейс, занявший больше трети кода и почти половину времени. х_х Старый был просто пыточным станком..
  • Возможность задания смещения точки вращения, что позволяет бесшовно гнуть стек.
  • Настраиваемое превью произвольной длины со вспомогательными финтифлюшками.
Да и вообще много всего было улучшено/пофикшено, я перечислил только наиболее значимые для юзера фичи, тем более всего не упомнишь..

Никому не интересный факт: по сложности этот тул превышает все мною написанные вместе взятые (их штук пять). Может дойдут руки выложить их когда-нибудь.
Много времени угрохал, заставляя правильно вращаться рэгдоллы. Думал что всё уже ок, а недавно заметил, что небольшой бажок имеется. =\ Снова почувствовал, что сделал бесполезную хрень..


Во время и после.


Балуюсь.


Инструмент встаёт как Stacker - Advanced в категорию Construction, не конфликтуя со старым стакером.

Comments/suggestions? :)
Да и вообще я был бы рад сообщениям о найденных багах. Вам же будет лучше, если я буду знать, что исправлять)

Известные баги:
  • Неправильно работает вращение в режиме мирового пространства. Либо будет когда-нибудь исправлено, либо я вообще откажусь от переключения режима, оставив только entity-режим (не знаю как кто, а лично я вообще никогда не пользуюсь world-режимом).
  • Упомянутый баг с вращением регдоллов.
  • Не то что бы баг, скорее закономерность: При большом превью (скажем, 50 призраков) помимо естественного снижения фреймрейта могут возникать резкие его скачки. Похоже на проблему с мусоросборщиком Lua из-за постоянного обновления призраков. В планах - сделать обновление только по необходимости (при изменении параметров или исходной энтити).
  • Превью регдоллов (моделей NPC в том числе) является серверным (баг не в этом) и видно всем игрокам, однако правильно отображается только для своего хозяина, остальные же игроки видят скомканый клубок. Видимо всё же придётся писать аналог gmod_ghost со своей спецификой..

Комментариев нет:

Отправить комментарий