Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transformation issues #49

Open
Qwertyus3D opened this issue Dec 12, 2022 · 39 comments
Open

Transformation issues #49

Qwertyus3D opened this issue Dec 12, 2022 · 39 comments
Assignees
Labels
bug Something isn't working

Comments

@Qwertyus3D
Copy link

По части трансформации выявился очередной ряд проблем. Я так понимаю, Return back bsptypes and some fixes (remove compiler warns, etc) - это последний билд, на котором трансформация работает так, как это было изначально, в оригинале. Не сказать, что работает на 100%, т. к. менять форму браша можно, лишь двигая рёбра за середину. Вершины вытягивать не получается, эти изменения не сохраняются в модели. А периодически после ряда действий манипуляция перестаёт работать вообще, т. к. пропадают сами точки, за которые можно двигать грани. Но, по крайней мере, есть трансформация граней браша и рабочий Scale.

Следующий билд New feature : transform model instead of verts (Transform Widget), который я случайным образом тестировал на карте c3a1a, уже выявляет начало проблем. Я трансформировал модель *31, func_door, находящийся в конце площадки напротив танка вверху. При тестировании объекта на работоспособность после трансформации получил вылет игры с ошибкой
FatSD
Карта крашнулась через некоторое время после того, как танк пострелял по трансформированному брашу, за которым я находился. На предыдущей версии такого не произошло.

Далее, с билда New transform logic! Now do backup every drag! нельзя видеть результат трансформации и перемещения вживую, что не только неудобно, но и позволяет, не видя, что именно ты делаешь, выворачивать браш наизнанку. После чего в игре он теряет функциональность. Как бы не баг, но проблема присутствует.

С билда Now can open multiple maps начинаются вылеты при попытке Duplicate BSP model, которые исправлены в билде fix duplicate model crash, НО Scale в этом билде уже не работает, крестовина есть, но стороны не двигаются.

И наконец, с Update BspRenderer.h и в текущих билдах трансформация уже не работает совсем, нельзя ни менять Scale, ни двигать грани браша. Честно говоря, реально задолбался искать всё это...

@UnrealKaraulov
Copy link
Owner

спасибо за багрепорт, хоть кто-то пытается пользоваться этой программой :), надо будет вместо добавления функционала заняться всеми этими проблемам

@UnrealKaraulov UnrealKaraulov added the bug Something isn't working label Dec 12, 2022
@UnrealKaraulov UnrealKaraulov self-assigned this Dec 12, 2022
@UnrealKaraulov
Copy link
Owner

Следующий билд New feature : transform model instead of verts (Transform Widget), который я случайным образом тестировал на карте c3a1a, уже выявляет начало проблем. Я трансформировал модель *31, func_door, находящийся в конце площадки напротив танка вверху. При тестировании объекта на работоспособность после трансформации получил вылет игры с ошибкой

А это могло случится если дверь просто бесконечно чего-то касалась? срабатывало действие столкновение, и отправлялось клиенту бесконечно и вызывало перегрузку канала?

@Qwertyus3D

This comment was marked as resolved.

@UnrealKaraulov
Copy link
Owner

UnrealKaraulov commented Dec 14, 2022

как в последнем билде с Transformation? я ещё не доконца исправил, но вроде как размер можно поменять, но потом если выбрать другой объект, то опять ломаются ) завтра буду решать проблему

закончу с багами и тогда займусь уже дополнениями, думаю могу попытаться добавить рендер декалей и может быть спрайтов,а вот рендер моделек MDL врядли сам сделаю, еще виджет текстур планирую добавить.(ну там внутренние и Вад текстуры предпросмотр и поиск)

@UnrealKaraulov
Copy link
Owner

@Qwertyus3D ну что теперь все работает как раньше в Transformation?

редактируются вершины и т.п ?

@Qwertyus3D
Copy link
Author

Qwertyus3D commented Dec 15, 2022

Во-первых,

  • Проблем с тормозами вроде больше нет. Даже лучше стало, чем в старых билдах.
  • Браши создаются без вылетов.
  • НО всё ещё падает нативный импорт БСП.

Кубик отекстурен немного не так.

Было:
Ось со стороны X+ (сиреневая направляющая, лево): -0 / 0. X- (право): -180 / 0. Y+ (синяя направляющая, спереди): 0 / 0. Y-: (сзади) -180 / 0. Z+ (зелёная направляющая, верх): -0 / 0. Z- (низ): -0 / 180.

Я предлагал:
Ось со стороны X+ (сиреневая направляющая, лево): -0 / 180. X- (право): 180 / 180. Y+ (синяя направляющая, спереди): 180 / 180. Y-: (сзади) 0 / -180. Z+ (зелёная направляющая, верх): 180 / -0. Z- (низ): 180 / 180.

Получилось:
Ось со стороны X+ (сиреневая направляющая, лево): -180 / 180 (текстура зеркально отражена). X- (право): -0 / 180 (текстура зеркально отражена). Y+ (синяя направляющая, спереди): 180 / 180 (совпало). Y-: (сзади) -0 / 180 (отличаются + и - , но текстура легла правильно). Z+ (зелёная направляющая, верх): -0 / 0 (текстура зеркально отражена). Z- (низ): -0 / 180 (текстура зеркально отражена и перевёрнута).

По части трансформации. Scale работает, претензий вроде нет. Манипулирование вершинами (вытягивание за углы, белые точки) не работает, но оно не работало и раньше. Манипулирование рёбрами (т. е. перемещение грани за середину, оранжевые точки) работает, но частично / с глюками.

  • Любую грань можно двигать на себя / от себя, либо вверх / вниз. Вбок грани двигать нельзя. Точнее, грань вбок двигается, но не фиксируется в изменённом положении.
  • Если пытаешься сделать одно перемещение грани за другим, то в какой-то момент браш перестаёт поддаваться изменениям. Двигать можно, но изменения не сохраняются. При этом иногда точки, за которые двигается грань, иногда "зависают" в том положении, куда ты их сдвинул, но сама грань возвращается назад. И далее уже идёт рассинхрон. За точки можно двигать, но они находятся в стороне от грани.
  • Также после этого браш вообще может перестать выделяться, т. е. точки манипуляции не появляются.
  • Также после этого крестовина перемещения браша смещается куда-то далеко в сторону.
  • А Scale трансформированной модели вообще жёстко глючит и растягивает её в непонятно что.

@UnrealKaraulov
Copy link
Owner

Манипулирование вершинами (вытягивание за углы, белые точки) не работает, но оно не работало и раньше.

Я так понял можно двигать, только выделить несколько, это выдает ошибка solid и откатывает изменения обратно. Пишет у грани нет двух фейсов или как-то так, фиг поймешь :)

@Qwertyus3D
Copy link
Author

Ну, короче, двигать можно, только когда 2 или 4 угла выделены. А вбок не двигается, т. к. это ломает боковые грани.

@Qwertyus3D
Copy link
Author

Тогда проблема остаётся только с тем, что иногда "органы управления" отключаются совсем, или сбиваются и сдвигаются в сторону от рёбер.

@Qwertyus3D
Copy link
Author

Qwertyus3D commented Dec 15, 2022

Я сейчас посмотрел, похоже, что в результате манипуляций мне удалось-таки сделать браш с изогнутыми гранями. Наверное, поэтому его потом жёстко плющит, когда ещё и Scale пытаюсь на нём сделать. И крестовина перемещения у него сдвинута.

@Qwertyus3D
Copy link
Author

deform
Такое вот.

@Qwertyus3D

This comment was marked as resolved.

@UnrealKaraulov
Copy link
Owner

@Qwertyus3D спасибо за инфу посмотрю

@UnrealKaraulov
Copy link
Owner

Сегодня днём постараюсь разобраться с последними багами, потом займусь улучшениями

@UnrealKaraulov
Copy link
Owner

@Qwertyus3D исправил в последнем билде сохранение этих настроек (точнее загрузка, кудато пропала)

@UnrealKaraulov
Copy link
Owner

UnrealKaraulov commented Dec 18, 2022

@Qwertyus3D почти полностью исправил логику работу перемещений вершин.

Осталась одна проблема, если после перемещения, модель считается сломанной - происходит рассинхрон вершин и модели. Похоже проблема где-то очень близко, но я что-то найти не могу :)

@Qwertyus3D

This comment was marked as resolved.

@Qwertyus3D

This comment was marked as resolved.

@UnrealKaraulov
Copy link
Owner

@Qwertyus3D исправил импорт , и в последнем патче исправил этот краш

@Qwertyus3D

This comment was marked as resolved.

@UnrealKaraulov
Copy link
Owner

@Qwertyus3D понял кажется где ошибка, когда fgd вообще не загружены и открыто окно, сейчас исправил думаю 100% :)

@Qwertyus3D
Copy link
Author

Сейчас заработало.

Другой вопрос теперь. В последних билдах повсеместно отображается подпись INVALID SOLID. На точечных энтитях, на ворлдспавне, на некоторых сложных брашевых энтитях. Я так понял, просто на всём, что не поддаётся трансформации.

И кубик бы допилить #49 (comment)

@Qwertyus3D
Copy link
Author

Вообще, круто, на самом деле. Наконец-то появился билд, который можно использовать в работе без каких-либо костылей и откатов к старым версиям, поздравляю! С этого момента можно вести новый отсчёт. Чуток осталось допилить только текущие нововведения.

@UnrealKaraulov
Copy link
Owner

Пока не закрываю, вижу проявляются странные баги все еще, если неправильная модель после трансформации, иногда возвращается не к предыдущему виду, а к самому исходному и слетает управление вершинами (точнее рассинхрон какой-то, причем сохраняется в карте даже после рестарта)

@Qwertyus3D
Copy link
Author

С точки зрения пользователя, я бы не показывал INVALID SOLID на тех объектах, с которыми всё в порядке. И вообще, двигать-то теперь практически всё можно, получается, нельзя только трансформировать (масштабировать, что тоже частный случай трансформации). Поэтому, может, INVALID SOLID оставить для действительно неправильных объектов, чтобы было ясно, что с объектом что-то не то. А для остальных показывать CAN'T TRANSFORM (или CAN'T SCALE), в тех случаях, когда выбран соответствующий режим. А когда просто крестовина перемещения, то можно не выводить сообщение.

@UnrealKaraulov
Copy link
Owner

@Qwertyus3D ну INVALID я убрал не должно уже быть

@Qwertyus3D
Copy link
Author

invsol
Любой составной объект считается INVALID SOLID.

@Qwertyus3D
Copy link
Author

Ну, пока что без изменений, даже куст, сделанный из двух скрещённых брашей, по-прежнему INVALID SOLID.

@Qwertyus3D
Copy link
Author

Qwertyus3D commented Dec 4, 2023

Вопрос был в том, чтобы давать вместо INVALID SOLID сообщение о том, что с объектом нельзя сделать. Например, CAN'T TRANSFORM (если объект выделен и выбран режим трансформации). А INVALID SOLID выводить в том случае, когда объект деформирован и может вызвать проблемы при сохранении карты. Ну или ещё что-то не то с ним. Допустим, в процессе трансформации внутренние грани наружу вывернулись, изогнулись. В общем, какая-то шляпа, которая при обращении к данной энтите может привести к ошибкам в игре. Если, конечно, возможно это задиагностировать.

@Qwertyus3D
Copy link
Author

По части трансформации, кстати, есть проблема с неотекстуренными браш-моделями. Можно посмотреть, к примеру, на картах Enriched, где всякие триггеры и т. д. в целях оптимизации неотекстурены. А вообще, такая оптимизация типична для карт, созданных в Джеке, насколько я понял. В общем, допустим, у нас есть trigger_once такой, в виде прозрачного куба. И обычно, чтобы трансформировать модель, мы должны сделать Duplicate BSP model. Тогда у неё появляются курсоры для вытягивания. Но в случае с неотекстуренными моделями баг в том, что курсор трансформации на них не появляется, совсем.

@Qwertyus3D
Copy link
Author

Кстати, по поводу неудачных трансформаций. Было бы неплохо сделать так, чтобы нельзя было выворачивать грани объекта наружу. Ну, например, когда мы двигаем правую сторону браша влево (с целью сжать объект), то чтобы нельзя было вывести курсор налево дальше левой стороны браша. Это такой момент просто, который сейчас неуловим. Мы сжимали объект, а он у нас наружу выворачивается при этом. И потом, если карта с таким брашем сохраняется, она может вылетать, если игрок пытается с этим брашем взаимодействовать в игре. Или если монстр стреляет в игрока и попадает в этот браш. Просто в игре он выглядит нормально, так что даже сложно понять, что происходит.

@UnrealKaraulov
Copy link
Owner

@Qwertyus3D как в последних версиях с трансформацией этой дела?

И проверки на неправильный объект есть, но почему-то если сделать scale в обратную сторону, предупреждений нет как будто объект не поврежден. Move вершины нельзя сделать в обратную сторону т.к сразу выдаст INVALID SOLID.

@Qwertyus3D
Copy link
Author

@UnrealKaraulov Так, ну на нормальных объектах перестала пропадать / смещаться крестовина трансформации, это исправлено. Но осталась проблема с неотекстуренными триггерами, как в Enriched. На них не появляется крестовина для Scale, даже если ты делал Duplicate BSP model. Двигать можно, крестовина Move есть. И ещё одна проблема, что если такую модель скопировать и вставить на карту дубль, то исходная энтить перестаёт быть видимой. Совсем. Хотя, если ткнуть в то место, где она стоит, то крестовина Move на этом месте появляется.

@UnrealKaraulov
Copy link
Owner

@Qwertyus3D а что за неотекстуренные триггеры ? может что-то в render настройках не включил? я мод скачал на какой карте это можно увидеть?

@Qwertyus3D
Copy link
Author

Qwertyus3D commented Dec 10, 2023

@UnrealKaraulov Ну триггеру же текстура не нужна, чтоб работать. Вроде как Джек позволяет триггеры не текстурить. Вот там на любой карте всё так сделано, служебные браш-модели, которые в игре нельзя увидеть, никак не отекстурены. Тупо коробка подсвеченная в редакторе. c1a карта, например.

@Qwertyus3D
Copy link
Author

Qwertyus3D commented Dec 10, 2023

Да ну собственно, сам BSP Guy такие же триггеры и создаёт. Которые скейлить нельзя. Create -> BSP Trigger Model

@Qwertyus3D
Copy link
Author

Клипбраши бы не помешала возможность создавать. Удобная вещь, чтоб можно было стрелять насквозь, а проходить - нельзя. А то иначе приходится извращаться, создавая такие тонкие полоски брашей, чтоб нельзя было пройти, но оставалась возможность выстрелить, не попадая в заграждение.

@Qwertyus3D
Copy link
Author

По части клипбрашей - клипбраши делаются путём нанесения на обычный браш текстуры CLIP. Но не на браш-модели - это компилятор не позволяет, обрабатываются только браши. Браш делается полностью невидимым и физически блокирует перемещение игрока, но не блокирует остальные энтити. Не знаю, оставляет ли компилятор в карте информацию о текстуре клипбраша, но хуллы, ограничивающие игрока, должны под это выделяться. А чтобы создать клипбраш в редакторе, видимо, потребуется возможность "впаивать" браш-модели в карту, переводить их в браши. Т. к. если на какой-то фанкволл наложить клип-текстуру, то это не сработает, в игре это останется обычным фанкволлом.

@UnrealKaraulov
Copy link
Owner

@Qwertyus3D я потихоньку вернулся к багфиксам, сегодня я исправлял проблему с измененим размеров (Scale) , похоже фпс больше не садится, и работает одинаково хорошо как и через через органы управления так и через Transformation Widget, на мой взгляд.

и тут плохо что твои issue постепенно переходят в какой-то флуд, ну то есть тема создана одна а проблема обсуждается совсем другая, и так почти в каждом) сложно понимать что к чему тем более после такого перерыва)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants
@UnrealKaraulov @Qwertyus3D and others