Set440 Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 (изменено) Все пользователи МОРРОШИНД знают наверно такую проблему, что неписи проваливаются сквозь статики даже на ОпенМВ. Мне удалось выяснить подробности о причинах таких провалов. ПОДРОБНОСТИ: Во-первых: давайте определимся, что неписи не падают на землю или в воду, а СТАВЯТСЯ туда инициализацией. Например погонщик из Гнисиса при каждом "падении" с высоты имеет полное здоровье, а лодочница из Тель Аруна стоит под водой на земле... — всё это невозможно при ФИЗИЧЕСКОМ падении. Тоесть, баг никак не относится к физическому движку ВООБЩЕ. ПРИЧИНЫ ПАДЕНИЙ: Непись стоит (или инициализирован в редакторе) на неровности сложного меша, или на стыках мешей. РЕШЕНИЕ ПРОБЛЕМЫ: Неписей нужно передвинуть с неровности на горизонтальную плоскость, дальше от стыков (это будет работать с неписями из Вивека, и дядей из Гнисиса) Тех, что передвинуть невозможно — подпереть невидимой куб-коллизией (тётю из Тель Аруна двигать некуда)Куб-коллизия всегда находится в секции АКТИВАТОРЫ (имеет высший приоритет), а поскольку она низкополигональная, плоская и не включена в списки отрисовки — срабатывает моментально быстрее всех, и очень надёжно. БЛАГОДАРНОСТИ: В расследовании помогал Scarab-Phoenix PS: Баг связан со сложной математикой вычисления границ мешей и акторов — создатели движка его могут пофиксить ОЧЕНЬ НЕ СКОРО. К счастью, он довольно просто чинится вот-таким костылём. Потому я хочу попросить команду GFM обратить внимание на мой пост. Нам очень повезло, что баг очень предсказуем и логичен, и ведёт себя скорее как фича, нежели что-то паранормальное. https://drive.google.com/open?id=1-E2z-lYB1flXxVTaZPezlWp8ber0kOFw — Фиксит погонщика в Гнисисе и лодочницу из Тель Аруна — они падают при каждом переходе локаций. Изменено 25 ноября, 2019 пользователем Set440 Ссылка на комментарий Поделиться на другие сайты Поделиться
Siberian Crab Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 Где фикс-то? Ссылка на комментарий Поделиться на другие сайты Поделиться
ShadowMimicry Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 Фикс называется: сделай сам видать:) Ссылка на комментарий Поделиться на другие сайты Поделиться
-=ChieF=- Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 Тут дело такое, что ручное исправление костылями - это в сто раз сложнее, чем простой ввод команды "ra" в игре :) Видишь, что нет NPC - вводишь "ra" и всё. А лепить повсюду эти невидимые блоки... Да еще пихать это в GFM - не очень хорошее решение. Наверное. А там, глядишь, и в OpenMW что-нибудь придумают :) Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 Лучше поблагодарите за то, что этот баг я отловил.Баг давно известен, если что. Ничего нового вы не открыли. Ссылка на комментарий Поделиться на другие сайты Поделиться
Set440 Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 Баг давно известен, если что. Ничего нового вы не открыли. Баг известен, а нормального чертежа костыля небыло.Был бы чертёж — был бы и прогресс, увы. Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 Баг известен, а нормального чертежа костыля небыло.Решение слишком костыльное просто. Потому никто им и не занялся. Ссылка на комментарий Поделиться на другие сайты Поделиться
Scarab-Phoenix Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 Решение слишком костыльное просто. Потому никто им и не занялся.В качестве временной меры вполне норм. Возможно, кто-нибудь займётся. Ссылка на комментарий Поделиться на другие сайты Поделиться
Set440 Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 На ОпенМВ есть точно 2 таких непися, которые падают АБСОЛЮТНО ВСЕГДА (даже когда их восстанавливает ra).Их может быть максимум 10... Не всех надо подпирать, большинство достаточно подвинуть на пол-метра, на ровную плоскость. ====Все остальные не падают вообще, либо очень рандомно в самых крайних случаях — таких лечит ra по ситуации (и вероятность того, что они упадут снова крайне мала) Ссылка на комментарий Поделиться на другие сайты Поделиться
aL☢ Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 Достаточно, пока авторы опенМВ не придумают таблетку, дать каждому "падлецу" НПЦ скрипт, который возвращает коррдинату Z при ее расхождении с первоначальным значением. И такой костыль просто не обязателен :) Ссылка на комментарий Поделиться на другие сайты Поделиться
Set440 Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 Достаточно, пока авторы опенМВ не придумают таблетку, дать каждому "падлецу" НПЦ скрипт, который возвращает коррдинату Z при ее расхождении с первоначальным значением. И такой костыль просто не обязателен :) Это очень крутая идея!Смотри:Если ((НПЦ в воде или стоит на земле) и (оригинальныйZ - текущийZ) > N): ra; Но с таким подходом нужно оригинальныйZ брать из сейва (если нет — из мастера), и выполнять этот код единожды, при инициализации Ссылка на комментарий Поделиться на другие сайты Поделиться
morrow Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 Совать скрипты, совать коллизии — костыль. Но второе хотя бы менее конфликтно Фактически такая вещь (проваливание) может произойти с любым неписем, не только с караванщиками: эдак можно весь мир доп коллизиями заставить. Нужен просто глобальный подход на уровне движка. Ссылка на комментарий Поделиться на другие сайты Поделиться
Set440 Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 (изменено) Такой код лучше писать в виде кастомного патча. (Я у Akortunov"а хочу спросить) Только я как всегда в пролёте с патчами: мне нужен OpenMW под macOS, боюсь что не смогу собрать после патчей... =====Суть треда: Хлаалу и Телвани сражаются за Одирниран. Изменено 25 ноября, 2019 пользователем Set440 Ссылка на комментарий Поделиться на другие сайты Поделиться
aL☢ Опубликовано 26 ноября, 2019 Жалоба Поделиться Опубликовано 26 ноября, 2019 Совать скрипты, совать коллизии — костыль. Но второе хотя бы менее конфликтно Сунь не костыль. Там же написано - в качестве временной меры вполне пойдет.Это очень крутая идея!Смотри:Если ((НПЦ в воде или стоит на земле) и (оригинальныйZ - текущийZ) > N): ra; Но с таким подходом нужно оригинальныйZ брать из сейва (если нет — из мастера), и выполнять этот код единожды, при инициализации Достаточно сравнивать с заданной в КСе координатой Z Ссылка на комментарий Поделиться на другие сайты Поделиться
Set440 Опубликовано 26 ноября, 2019 Автор Жалоба Поделиться Опубликовано 26 ноября, 2019 Достаточно сравнивать с заданной в КСе координатой Z Это если непись не ходит. Кроме-того, можно разозлить и стоячих NPC, чтоб они бегали за тобой — в этом случае непись сместится по Z в зависимости от поверхности. Нужно читать из сейва (если доступно). И ещё: суть падения в том, что либо непись стоит на статике, либо не стоит — третьего варианта нет. В редакторе он ПОДВЕШЕН НАД своим местом, тоесть при постановке он УЖЕ СМЕЩАЕТСЯ.Потому нужно сравнивать РАЗНИЦА > N Ссылка на комментарий Поделиться на другие сайты Поделиться
aL☢ Опубликовано 26 ноября, 2019 Жалоба Поделиться Опубликовано 26 ноября, 2019 Это если непись не ходит. Кроме-того, можно разозлить и стоячих NPC, чтоб они бегали за тобой — в этом случае непись сместится по Z в зависимости от поверхности. Нужно читать из сейва (если доступно). И ещё: суть падения в том, что либо непись стоит на статике, либо не стоит — третьего варианта нет. В редакторе он ПОДВЕШЕН НАД своим местом, тоесть при постановке он УЖЕ СМЕЩАЕТСЯ.Потому нужно сравнивать РАЗНИЦА > N Но проваливаются только погонщики, потому в качестве временной меры я и предлагал использовать скрипт только на них.Разницы между подвешенным и "упавшим" на "пол" вы не увидите в игре, с этим проблем нет, проверено. Ссылка на комментарий Поделиться на другие сайты Поделиться
Set440 Опубликовано 26 ноября, 2019 Автор Жалоба Поделиться Опубликовано 26 ноября, 2019 Я использую только коллизии по одной причине: Когда трогаешь неписей — их имена вшиваются в плагин, а я очень хочу чтобы фикс был совместим со всеми локализациями. Не важно, русские, немцы, американцы — все имеют право использовать фикс, с обратной совместимостью, без адаптаций. ====Вот если-бы такой код в виде патча для движка... но разработчики говорят: Приплыли! Не будем мы непонятный баг латать костылём, это мешает отладке! Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 26 ноября, 2019 Жалоба Поделиться Опубликовано 26 ноября, 2019 Но проваливаются только погонщики, потому в качестве временной меры я и предлагал использовать скрипт только на них.Не только. Эрраниль в ГМ Альд-Руна, например, любит падать. Ссылка на комментарий Поделиться на другие сайты Поделиться
aL☢ Опубликовано 26 ноября, 2019 Жалоба Поделиться Опубликовано 26 ноября, 2019 Вот если-бы такой код в виде патча для движка... но разработчики говорят: Приплыли! Не будем мы непонятный баг латать костылём, это мешает отладке! Это где такое сказано? Все будет. Не только. Эрраниль в ГМ Альд-Руна, например, любит падать. Хгмм.. сколько играю у меня она ни разу не падала. Ссылка на комментарий Поделиться на другие сайты Поделиться
morrow Опубликовано 26 ноября, 2019 Жалоба Поделиться Опубликовано 26 ноября, 2019 (изменено) Способ исправления падающих NPC в OpenMW:1. Нажать ~2. Вбить "ra"3. Нажать "Enter"4. Нажать ~ Если понадобится ещё раз в том же сеансе игры, то:1. Нажать ~2. Нажать "клавиша вверх"3. Нажать "Enter"4. Нажать ~ Если вы ленивая задница, которой лень нажать пять клавиш, а вместо ОпенМВ у вас МГЕ:Назначаете на любую кнопку где-нибудь на цифровом блоке клавы (например, "7\Home") команду "ra" через мгешный "Macro Editor" и макрос "Console2" — https://tes.ag.ru/cs/mge/mge_tabs_macro.shtml Не благодарите! Изменено 26 ноября, 2019 пользователем morrow Ссылка на комментарий Поделиться на другие сайты Поделиться
Set440 Опубликовано 26 ноября, 2019 Автор Жалоба Поделиться Опубликовано 26 ноября, 2019 И это конечно не поможет тем единицам, что падают тупо всегда... потому-что нужна быстрая реакция после загрузки, и готовность в тех местах где они всегда падают... Это работает когда они падают рандомно, и очень редко. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти