crypt of decay - Post a comment [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

всё пилим, и пилим, и пилим May. 15th, 2019|08:03 am

ketmar
новый `traceBox()` потихоньку начинает становиться похож на настоящий. запилил трэйс по BSP, с корректной обработкой двусторонних проходимых лайндефов (раньше тупо проверял весь уровень — PoC жы). соответственно — теперь мы знаем субсектор, который проверяем, и можно допилить проверки пола/потолка.

трэйсер останавливается перед каждой двусторонней линией, так что можно без проблем проверить на предмет ступенек и прочих нужных вещей. хотя это я потом чуть заоптимайзю: если линия без спешыла, и aabb определённо не ударится об пол/потолок там, то нет смысла у такой линии тормозиться, чтобы потом продолжить с того же места.

почти весь код творчески переработан из q2/q3. спасибо, Кармак.

как и полагается с BSP, проверок мизер: 8-12 нод и 1-3 субсектора из почти 300 на e1m1. в принципе, блокмап тоже можно использовать, но проверок будет значительно больше (и сейчас, кстати, ситуация сильно хуже). поскольку в ближайшем будущем двигающейся не по вертикали геометрии не планируется, то пусть будет BSP. полиобъекты, правда, придётся отдельно проверять, но это фигня: их всё равно надо допиливать нормально.

ещё мне не очень нравится слайд: он тупо летит вдоль плоскости стены. будет красивей, мне кажется, если долететь только до края, и попробовать двигаться дальше в изначальном направлении. чуть сложней и некрасивей в реализации, правда. не уверен, стоит ли оно того: надо подумать.
Link Read Comments

Reply:
From:
(will be screened)
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message: