ObjectMode_Info -
Mutha_X - 16.07.2013
Вступление.
Мужику делать было нечего, мужика надо было чем-то занять.
По недавнему вопросу в местной флудилке о том как достать ид ЛОД-объекта по ид нормального объекта, было решено сделать флудилку более чистой, а именно от таких вопросов.
Представляю вашему вниманию простенький скрипт, который позволит узнавать какой у обычного объекта LOD и наоборот, а также некоторую дополнительную информацию об объектах.
Здесь полный список LOD-объектов с соответствующими номерами обычных объектов. К инклуду прилагается 2 загрузочных файла: для использующего карту оригинальной игры и мода Criminal Russia серверов.
Функций 9 всего:
Code:
* GetLOD_Object(objid); // вернёт номер модели LOD объекта по указанной модели обычного объекта
* GetObject_LOD(lodid); // вернёт номер модели обычного объекта по указанной модели LOD
* GetObjectModel_DrawDistance(objid);// returns model draw distance - возвращает дистанцию прорисовки
* GetObjectModel_Flag(objid,flag);// returns model flag - возрващает указанный флаг модели объекта
* GetObject_Name(objid,objname[],maxcell);// gets model name - берёт название (.dff файла без расширения)
* IsObjectModelValid(objid);// checks modef for existing - проверяет существование модели объекта в игре
* Load_ObjectModel_Info();// загружает информацию об объектах
* Save_ObjectModel_Info();// сохраняет информацию об объектах
* ModelInfo_Add_OBJ_LOD(objid,lodid); // ставит соответствие между обычным объектом и его LOD моделью по их ID.
Ограничения
Скрипт ограничен (можно изменить) максимальным ID объекта тем же, что и в самой игре по умолчанию. А так же теми данными, которые можно получить из ресурсов игры (например названия .dff названий моделей объектов)(поправимо). Тем не менее все существующие объекты в игре могут быть безвредными (не вызывать креши или варнинги при специфичных ситуациях) - проверяйте модель на валидность и расположение на карте( касается особенно гаражных дверей ).
Рекомендации по использованию
Скорее всего у Вас получится использовать данный скрипт в стримере для подмены дальних от игрока объектов на их LOD-модели. Возможно собрать некоторую информацию о свойствах объекта автоматическим путём, вместо ковыряния в ресурсах игры своими руками.
Во второй (текущей) версии код более не зависим от перебора записей по массиву в поиске обычного/LOD-объекта. В принципе можно использовать прямо в работе вашего стримера. Не рекомендуется менять значения в загрузочном файле самостоятельно - отписывайтесь в ЛС, в случае чего - неиспользуемые в нём (загрузочном файле) значения предназначены для расширения функционала и сохранения совместимости в следующих версиях.
Сравнение LOD-объекта и его же объекта отображаемого вблизи.
Скачать: ссылка
Публикую именно тут, чтобы не менять каждый раз ссылку при обновлении.
Re: OBJ & LOD Operator -
White_116 - 16.07.2013
Есть зачаток стриммера с поддержкой лод

Сделай ещё под Криминалку

Буду рад.
И ещё дальность прорисовки основного объекта желательно. Без этого никуда.
Re: OBJ & LOD Operator -
Seregamil1 - 18.07.2013
А что такое ЛОД объекты?
Re: OBJ & LOD Operator -
White_116 - 18.07.2013
Quote:
Originally Posted by Seregamil1
А что такое ЛОД объекты?
|
Ужас. Это упрощённые модели, те которые мы видим на дальнем расстоянии.
Наглядный пример:
Re: OBJ & LOD Operator -
Vinnyy - 20.07.2013
Пример ни разу не наглядный...
Re: OBJ & LOD Operator -
White_116 - 20.07.2013
Quote:
Originally Posted by Vinnyy
Пример ни разу не наглядный...
|
Если вместо соны был бы лод дерева, то разницу особо не увидеть было бы.
Re: OBJ & LOD Operator -
Mutha_X - 20.07.2013
Обновил, сделал отброс некоторых ид, чтобы меньше искало по времени в среднем.
Приложил пример того, что такое LOD-объект.
Добавил поддержку мода Criminal Russia (настраивайте через дефайны) [возможны ошибки в ид]. За исходные файлы карты игры отдельное спасибо White_116.
Чуть позже допилю ко всему этому делу информацию о дальности прорисовки, названиях объектов(в данном случае можно найти альтернативы, но хочется чтобы все было собрано вместе) и отдельный скрипт/программу для обработки файлов игры в нужный формат для данного скрипта.
Re: OBJ & LOD Operator -
Vinnyy - 22.07.2013
и стример бы ещё )
Re: OBJ & LOD Operator -
White_116 - 22.07.2013
Quote:
Originally Posted by Vinnyy
и стример бы ещё )
|
Скоро выложу, осталось немного...
Re: OBJ & LOD Operator -
Vinnyy - 25.07.2013
Попробуй на дереве сделать стример!
октановое дерево(ну или какое приглянется внизу).
Главные свойства: поиск за log N, изменение за log N(удаление и вставка)
http://steps3d.narod.ru/tutorials/sp...-tutorial.html