Merlin Опубликовано 5 апреля, 2019 Поделиться Опубликовано 5 апреля, 2019 Помогите, пожалуйста, достигнуть общего понимания, каким методом\способом можно определять границы локации (карты) из памяти игры в таких играх, как, например: ArcheAge, Lineage 2, Path of Exile, WoW и т.д.? Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 7 апреля, 2019 Поделиться Опубликовано 7 апреля, 2019 Теоретически. Как пример для любой игры сингловой или мультиплеерной: 1. Ищем адрес координат игрока 2. Ставим брейкпоинт на адрес координат игрока 3. Ищем инструкцию, которая работает со всеми координатами 4. Собираем постоянно в массив самые дальние координаты и узнаем примерную область карты. Вообще зависит от движка игры. Если это Unity, то можно перебрать все коллизии с самым большим размером и дальними положениями, или если есть что-то похожее на Terrain, то найти этот компонент и получить свойства ширины и длинны. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 7 апреля, 2019 Поделиться Опубликовано 7 апреля, 2019 Как вариант, могу предложить парсить карту, если такая имеется. В играх на соурс движке карта имеет формат bsp в которой прописаны все меши. Второй вариант, использовать лучи трассировки, для измерения самых дальних участков карты. Ссылка на комментарий Поделиться на другие сайты Поделиться
imaginary Опубликовано 11 апреля, 2019 Поделиться Опубликовано 11 апреля, 2019 Это можно просто найти таким образом - ищешь что обращается к координатам персонажа если он пересекает край карты, ведь происходит что нибудь? например не пойти дальше, или отталкивает и тп. В это время смотришь обращения - если появляются новые, с ними и работаешь, смотришь какие там есть проверки на координаты, сравниваемое и будет координата края карты, и если центр (0,0,0) где нибудь в углу, то ты получаешь размер карты. Если центр в середине ты получаешь половину размера. Если ничего не появляется - проверяешь все инструкции что обращаются к координатам игрока, можешь просто НОПить некоторые, и смотреть что происходит при пересечении края. Ну или просто исследовать код и сравнения. Способ для CE Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 11 апреля, 2019 Поделиться Опубликовано 11 апреля, 2019 8 минут назад, imaginary сказал: например не пойти дальше, или отталкивает обычно с запасом по краям карты невидимые текстуры расположены, так что это будет не совсем край карты, локации уже давно в виде коробки не делают. Ссылка на комментарий Поделиться на другие сайты Поделиться
Antonshka Опубликовано 12 апреля, 2019 Поделиться Опубликовано 12 апреля, 2019 Для чего нужно знать границы карты? Ссылка на комментарий Поделиться на другие сайты Поделиться
Merlin Опубликовано 12 апреля, 2019 Автор Поделиться Опубликовано 12 апреля, 2019 41 минуту назад, Antonshka сказал: Для чего нужно знать границы карты? Для того что бы написать метода навигации персонажа. ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Merlin Опубликовано 15 мая, 2019 Автор Поделиться Опубликовано 15 мая, 2019 В 07.04.2019 в 14:12, partoftheworlD сказал: Как вариант, могу предложить парсить карту, если такая имеется. Удалось обнаружить в памяти Texture Resource откуда передаются значения координат персонажа, интересно, возможно ли теперь как-то воссоздать эти текстуры из памяти для построения модели карты? Можете подсказать, существуют ли для этого какие-либо специальные приёмы или инструменты? Ссылка на комментарий Поделиться на другие сайты Поделиться
AlisaCodeDragon Опубликовано 12 сентября, 2019 Поделиться Опубликовано 12 сентября, 2019 В 15.05.2019 в 09:48, Merlin сказал: Удалось обнаружить в памяти Texture Resource откуда передаются значения координат персонажа, интересно, возможно ли теперь как-то воссоздать эти текстуры из памяти для построения модели карты? Можете подсказать, существуют ли для этого какие-либо специальные приёмы или инструменты? Для генерации карты я использовала buildzone софт ) координаты перемещения персонажа в line][age это float x y z ) пример поиска видео https://www.youtube.com/watch?v=6mTzDoaQcs0&t=669s вот я находила значения координат в игре хроники интерлюдии верхние это координаты передвижения персонажа далее название мапы где находиться персонаж пример 22.22unr это локация гирана) 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения