Jump to content
  • Новые материалы


  • Ed_MSL

    LOD

    LOD означает Level Of Detail (уровень детализации) и относится к ландшафтам - земле, деревьям и объектам. Есть разные виды файлов LOD, необходимых для их корректного отображения, и генерируются они разными программами и скриптами.

    Многие моды уже имеют свои LOD'ы и поэтому вам не нужно генерировать их самостоятельно. Однако, не всегда возможно выделить LOD, который влияет только на измененные области, поэтому LOD для других областей также включен, и обычно он соответствует базовому Oblivion. Но что, если у нас есть другие моды, которые добавляют постройки в эти области? Ну, этот LOD теряется. Именно поэтому, если у вас есть несколько модов, для которых нужны LOD'ы, лучшим решением будет генерация своих LOD'ов, чтобы все было включено правильно.

    LOD генерируется отдельно для каждого мирового пространства (ориг. worldspace). Главное мировое пространство в Oblivion это Тамриэль (Tamriel), но есть много других, независимых от него. Shivering Isles, например. Моды, создающие свои собственные мировые пространства, могут иметь свои безопасные LOD'ы, так как они не связаны с Тамриэлем. Если у вас только такие моды, то генерировать новые LOD'ы вам не нужно.

    Файлы LOD

    Базовые LOD файлы Oblivion хранятся в BSA архивах игры: "Oblivion - Meshes.bsa" и "Oblivion - Textures - Compressed.bsa". Сюда не входят данные Дрожащих островов — они находятся в соответствующих архивах. Каждый мод также может добавлять свои собственные данные, но пути к каталогам должны совпадать с путями стандартного Oblivion. Когда вы генерируете LOD'ы, новые файлы создаются в папке \Data, следуя заданному шаблону. Они имеют приоритет над найденными в стандартных архивах.

    Следующие папки в Oblivion\Data содержат файлы LOD:

    • DistantLOD - объекты и деревья.
    • Meshes\Landscape\LOD - структура земли, такие вещи, как горы и долины.
    • Textures\LandscapeLOD\Generated - текстуры земли.

    Папки Meshes и Textures содержат так называемый "LOD земли", в то время как папка DistantLOD содержит "LOD объектов". Эти два вида LOD'ов генерируются разными инструментами и полностью независимы друг от друга. Однако вам нужны они оба.

    LOD'ы земли содержат информацию о форме и окраске земли — формах гор и долин и соответствующих текстурах земли.

    LOD'ы объектов содержат данные об элементах, размещенных во внешних ячейках. В принципе, это может быть что угодно, но обычно это ограничивается большими объектами, такими как деревья, здания и большие камни. Есть несколько способов регулировать то, что отображается в игре. Чем больше объектов вы включите в LOD, тем полнее будет вид издалека, но и тем тяжелее будет нагрузка на ваш компьютер. Если вы добавите слишком много, то вы получите низкий FPS или даже вылеты. Здесь нужно найти баланс.

    Прим. от нашего участника @allexa. На самом деле LOD'ы объектов (те, что из DistantLOD), в отличие от файлов ресурсов (меши/текстуры), не перезаписываются, а считываются игрой со всех источников, т.е. игра сначала грузит базовые LOD'ы (которые находятся в Oblivion - Meshes.bsa), затем LOD'ы из других BSA, а уже потом грузит наши сгенерированные в отдельной папке DistantLOD. Иными словами, если какие-то моды добавляют BSA архивы, в которых есть файлы LOD'ов, файлы LOD'ов из этих архивов так же нужно удалять.

    Как удалить LOD'ы Тамриэля

    Иногда вам необходимо удалить LOD'ы, предоставленные исходным модом, поскольку позже они будут заменены свежими LOD. Причина, по которой вам нужно сначала удалить старый LOD, заключается в том, что в некоторых случаях то, что было сушей, стало морем, а море имеет нулевой LOD, что означает отсутствие файла. Поскольку вы не можете перезаписать существующий файл с помощью "нет файла", вам необходимо сначала удалить старые файлы.

    Oblivion20190221 21.41.47.jpg

    Пример проблемы LOD'ов - "парящие" деревья

    Если данные LOD хранятся в архиве BSA, сначала распакуйте его и удалите архив. Существует несколько программ, позволяющих распаковывать архивы BSA, например BSArchProBSAOpt или BSA Commander.

    Данные объекта хранятся в каждой ячейке, тогда как данные о земле хранятся в каждом квадрате, поэтому структура имен файлов и количество файлов в этих папках сильно различаются.  Квадрат — это область размером 32х32 клетки или 4х4 блока по 8х8 ячеек, отсюда и название "квадрат".

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

    Чтобы удалить данные LOD, относящиеся к миру Тамриэля, удалите следующие файлы:
     

    • Из папки DistantLOD удалите все файлы, начинающиеся с "Tamriel_".
    • Из папок Meshes\Landscape\LOD и Textures\LandscapeLOD\Generated удалите все файлы, начинающиеся с "60".  или "Tamriel".

    Обычно необходимо генерировать собственный LOD только для Тамриэля, а не для других мировых пространств, если, конечно, у вас нет нескольких модов, изменяющих одно и то же мировое пространство.  Здесь на ум приходят Дрожащие острова, но для других миров, я думаю, это маловероятно.  Таким образом, вы обычно можете оставить LOD, не относящийся к Тамриэлю, и не ожидать проблем.

    Инструменты
    Вам понадобится несколько инструментов для создания собственных LOD'ов.  Они доступны на Нексусе.

    • TES4Edit - генерирует LOD объектов.  Устанавливается в корневую папку игры (там, где находится Oblivion.exe).
    • TES4LL - генерирует LOD земли. Устанавливается в папку \Data.
    • TES4LL Missing Textures Patch - добавляет недостающие текстуры, на которые жалуется TES4LL.  Установить в Oblivion\Data.
    • Construction Set - может использоваться для создания всех видов LOD.  Читайте ниже.

    Обратите внимание, что TES4Edit можно (но не обязательно) установить в папку Oblivion - это та же папка, в которой находится Oblivion.exe, а для корректной работы TES4LL необходимо установить в папку Oblivion\Data.

    Генерация LOD земли с помощью программ с графическим интерфейсом

    Я генерирую LOD земли с помощью TES4LL, но никогда не могла понять, как правильно это сделать с CS.  TES4LL можно использовать из командной строки или через графический интерфейс — GUI.  Графический интерфейс проще в использовании, но результаты будут теми же.

    Скачайте программу: Multi Purpose GUI (MPGUI). Установите его в папку Oblivion.  Запустите командный файл Oblivion\Data\Ini\tes4ll\tes4ll_all.mpb.  Альтернативно запустите его, дважды щелкнув этот файл mpb в файловом менеджере.

    После запуска программы перейдите на вкладку «Плагины» и выберите плагины, для которых вы хотите сгенерировать LOD. Если вы нажмете кнопку "plugins.txt", тогда будет загружен список используемых в данный момент плагинов. Обычно этот файл находится в C:\Users\<user>\AppData\Local\Oblivion, если только вы не меняли параметр bUseMyGamesDirectory на 0 в вашем Oblivion.ini (читайте здесь) или не используете Mod Organizer.

    Подождите, пока он загрузит ваши моды, после чего вы сможете выбрать мировое пространство, для которого будет генерироваться LOD.  Пройдитесь по вкладкам, чтобы проверить настройки и начать процесс.

    Большим преимуществом использования графического интерфейса является то, что он читает правильный файл "plugins.txt".  Если вы запустите базовые утилиты вручную, они будут читать"plugins.txt" только из вашей пользовательской папки по умолчанию и никогда откуда-либо еще.

    Плагины загружаются на основе их временных меток.  Это означает, что мастер-файлы не обязательно загружаются первыми!  Это особенно сбивает с толку, поскольку в таких утилитах, как Wrye Bash, они отображаются первыми.  Однако в MPGUI вы видите их в порядке отметок времени, поэтому убедитесь, что порядок верный.  Если мастер-файлы загружены не по порядку, текстуры земли могут генерироваться неправильно.

    Чтобы решить эту проблему, откройте файл "plugins.txt" в Wrye Bash или другом инструменте, который может установить порядок загрузки, выберите все файлы, включая мастер-файлы, и убедитесь, что также выбран oblivion.esm.  Затем измените дату изменения для всех файлов, чтобы обеспечить правильный порядок загрузки (во Wrye Bash: выберите все файлы, щелкните их правой кнопкой мыши и выберите в меню «File» -> «Изменить дату редактирования»).  Перезапустите MPGUI и повторите попытку.

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

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

    На вкладке генерации текстур земли есть флажок для регенерации кэша текстур.  Это необходимо сделать один раз в начале, а затем каждый раз, когда вы добавляете или удаляете текстуры.  Если не уверены, отметьте это.  Это не займет много времени и гарантирует, что вы не пропустите ни одной текстуры.

    Генерация LOD земли вручную

    Откройте свой любимый менеджер модов и включите все моды, которые вы хотите использовать в своей игре.  Убедитесь, что порядок их загрузки правильный — это имеет значение для LOD.  Если вы внесете туда существенные изменения позже, вам придется перегенерировать LOD.  Но теперь, когда вы знаете, как это сделать, это уже не такая уж большая проблема!

    ПРИМЕЧАНИЕ. Хотя ваш менеджер модов может знать лучше, инструменты генерации LOD будут читать "plugins.txt" только из его местоположения по умолчанию в разделе «Пользователь».  Выберите все файлы, включая мастер-файлы, и измените их дату редактирования.  Прочтите предыдущий раздел, чтобы узнать, почему.

    TES4LL устанавливает несколько .bat файлов в папку Oblivion\Data, а так же новую папку tes4qlod_tex. Она содержит текстуры земли в формате BMP, необходимые для генерации.Если у вас есть моды, которые изменяют или добавляют текстуры земли, вам необходимо сначала обновить эту папку.

    Итак, для начала запустите tes4ll_tes4qlod_cache.bat.

    Следующим шагом будет создание LOD-мешей — ландшафтных структур.  TES4LL поставляется с тремя пакетными файлами для разных разрешений. Отличаются они качеством полученных с помощью них мешей.  Выберите один из них:

    • tes4ll_midres.bat
    • tes4ll_highres.bat
    • tes4ll_ultimate.bat

    У меня довольно слабый компьютер, поэтому я использую tes4ll_midres.bat, это все равно лучше, чем стандартные меши Oblivion. В любом случае, выберите один из них и запустите. Если вы захотете получить более качественные меши, то вам не нужно будет повторно запускать какие-либо другие элементы генерации LOD, только повторить генерацию мешей с помощью одного их этих трех .bat файлов.

    Далее сгенерируйте текстуры.  Этот шаг не будет работать правильно, если вы не обновили папку tes4qlod_tex на первом шаге.  Так что вернись и сделай это.  Если не уверены, сделайте это.  Затем запустите tes4ll_tes4qlod.bat.

    Если вы начали получать ошибки типа «Невозможно найти текстуру BMP…» — это значит, что вам необходимо обновить кеш.  Вернитесь и выполните первый шаг.

    Далее создайте карты нормалей.  Запустите tes4ll_normalmaps.bat.

    В итоге вы должны получить новые меши ландшафта и текстуры — файлы будут располагаться в папках Meshes\Landscape\LOD и Textures\LandscapeLOD.

    Генерация LOD объектов

    Существует два различных метода генерации данных LOD объектов (папка DistantLOD): с помощью Construction Set или TES4LODgen (является частью TES4Edit). Эти методы радикально отличаются выбором объектов, которые будут включены в генерируемые данные LOD:

    Construction Set включает все объекты, у которых установлен флаг VWD (отмечена галочка "Visible When Distant" у объекта).

    TES4LODgen полностью игнорирует флаги VWD и вместо этого включает абсолютно все объекты. Обычно это приводит к тому, что в LOD включается гораздо больше объектов по сравнению с данными CS. Вы должны быть осторожны с тем, какие _far меши вы устанавливаете, иначе ваша игра будет перегружена LOD'ами объектов для каждого крошечного камня.

    Если _far меши для каких-либо объектов не будут найдены игрой, эти объекты не будут отображаться, но как только вы добавите меши, то все эти объекты появятся.

    Генерация LOD объектов на основе флагов VWD

    Ванильный LOD Oblivion создан с использованием этого метода.Однако в оригинальной игре флаги VWD не установлены для фортов и айлейдских руин. Я сделала этот мод который установит VWD флаги для всех фортов и руин. Мод ниепе не влияет на игру, только на генерацию LOD.

    Если у вас есть другие моды, добавляющие форты или айлейдские руины, вы можете использовать эти скрипты TES4Edit для обновления других ваших модов.: Vanila LOD help scripts. См., в частности, новую версию скрипта, опубликованную в комментариях - она заменяет два скрипта из раздела "Файлы" мода.

    Обратите внимание: если вы используете Construction Set для генерации LOD, он будет включать в данные LOD только те объекты, для которых у вас установлены _far меши. Это означает, что одной лишь установки флага VWD недостаточно! Поэтому прежде всего убедитесь, что у вас установлены все необходимые _far меши, например меши из мода J3 Atlassed VWD 2. Устанавливайте их как отдельные файлы, а не как BSA, чтобы быть уверенным, что они будут найдены игрой. Более подробную информацию ищите далее в этой статье.

    Последовательность действий для данного метода выглядит следующим образом:

    • Установите _far меши как отдельные файлы в папку Oblivion\Data.  Они не всегда корректно читаются из архивов BSA.
    • Скачайте Cyrodiil Visible When Distant forts and ruins и добавьте его в список загрузки как можно выше.
    • Сделайте резервную копию всех ваших ESP, так как некоторые из них будут изменены.
    • Переместите или переименуйте папку Data\DistantLOD.
    • Запустите TES4Edit и загрузите все моды из списка (или, по крайней мере, все, что изменяют мировое пространство Тамриэля или другие пространства, для которых вы хотите сгенерировать LOD объектов).
    • Для каждого мода, который добавляет или изменяет форты или айлейдские руины, щелкните его, перейдите в Worldspaces, щелкните правой кнопкой мыши на "Tamriel", выберите «Apply Script» в меню, затем выберите новый сценарий, который устанавливает флаги VWD (скрипт называется Set Visible When Distant), и дайте ему отработать.
    • После этого сохраните все изменения и выйдите из TES4Edit.


    Теперь у вас есть выбор: использовать Construction Set для создания LOD или TES4Edit.

    Вариант 1: Construction Set

    • Запустите CS.  Я использую CSE, но и оригинал должен работать.
    • Загрузите все моды, изменяющие мировое пространство Тамриэля (те же, что вы загрузили в TES4Edit). Не устанавливайте активный файл.
    • В верхнем меню выберите World -> World Testing -> Update distant LOD data. Затем в диалоговом окне выберите Tamriel и нажмите "Export This Worldspace". Это займет много времени, это нормально — это большое мировое пространство. Это создаст папку Data\DistantLOD и заполнит ее файлами.
    • Готово! Закройте CS.
    • Если у вас в исходной папке DistantLOD были LOD объектовкаких-либо мировых пространствкроме Тамриэля, вы можете либо создать для них новые LOD, используя описанный выше метод, либо просто скопировать старые файлы.  Это будут все файлы, начинающиеся с любого слова, кроме «Tamriel».

    Вам необходимо протестировать LOD вашего объекта в игре, чтобы убедиться, что он сгенерирован правильно.  Конструктор может вылететь или зависнуть при генерации LOD  для очень больших мировых пространств, таких как Тамриэль со всеми загруженными провинциями.  Стоит попробовать загружать меньше ESP и генерировать разные области отдельно.  Это может быть настоящей головной болью, поэтому люди обычно используют TES4LODgen.

    Вариант 2: TES4Edit
    TES4Edit запускает TES4LODgen который полностью игнорирует VWD флаги и вместо этого добавляет в LOD каждый объект. Я не совсем уверена, проверяет ли он вообще, установлены ли _far меши или нет. Полагаю, нет. По существу, он совершенно непригоден для создания LOD на основе VWD.

    Для исправления этого я сделала опасный скрипт, который удаляет из выших модов все объекты, у которых отсутствует флаг VWD. Тогда оставшиеся объекты будут единственными, которые будут включены в LOD. Очевидно, что после запуска этого скрипта вы НЕ захотите сохранять свои моды!  Это временный шаг, который поможет с генерацией LOD.

    • Установите скрипт из раздела "Файлы" мода Cyrodiil Visible When Distant forts and ruins. Это скрипт для TES4Edit.
    • Запустите 64-х битную версию TES4Edit и загрузите моды, для котоых вы хотите выполнить генерацию LOD. Если вы будете использовать 32-х битную версию, вам может не хватить памяти даже при скромном порядке загрузки, учитывая то, что будет дальше.
    • Если вы пропустили установку флагов VWD, как описано в начале этого раздела, сделайте это сейчас.  Это жизненно важно.
    • Это опасная часть: выбираем все моды, кликаем по ним правой кнопкой мыши, в меню выбираем "Применить скрипт", затем выберите установленный ранее скрипт, чтобы удалить все объекты, для которых не установлен флаг VWD. Это займет некоторое время, в зависимости от размера и количества загруженных вами модов.
    • НЕ СОХРАНЯЙТЕ моды!
    • Щелкните правой кнопкой мыши один из модов, выберите в меню «Other» -> «Generate LOD».  Новые LOD'ы будут сгенерированы в папку Data\DistantLOD.
    • Выйти из TES4Edit БЕЗ СОХРАНЕНИЯ.


    Теперь у вас есть LOD'ы на основе VWD, созданный с помощью TES4Edit (TES4LODgen).

    Однако здесь есть одна оговорка — ванильное мировое пространство - Tamriel. Оно хранится в Oblivion.esm и по умолчанию только у очень немногих объектов установлены флаги VWD. Они не установлены для фортов и Айлейдских руин - поэтому мы использовали мод, чтобы их исправить. Поэтому, если вы примените скрипт для удаления всех объектов VWD в Oblivion.esm, у вас не будет никаких фортов или айлейдских руин, которые можно было бы включить в ваш LOD — они будут удалены.

    Для любого мода решением было бы изменение флагов VWD в мастере, т.е. в Oblivion.esm. Однако, поскольку это мастер игры, TES4Edit не позволит вам ничего в него объединить. Однако вы можете запустить оригинальный скрипт для установки флагов VWD непосредственно в Oblivion.esm. Это займет много времени, поэтому лучше сохранить измененную версию. Возможно, здесь вам придется пройти через все препятствия, потому что различные инструменты будут пытаться помешать вам изменить мастер игры.

    Если вы ничего не сделаете с Oblivion.esm и оставите все как есть, то TES4Edit будет генерировать чрезмерный уровень детализации для Сиродила, потому что он будет включать в себя все объекты - каждый крошечный камень, каждый цветок... ну, вы знаете.  Таким образом, хотя уровень детализации ваших модов будет оптимизирован, уровень детализации ванильных частей мирового пространства не будет.


    Использование TES4LODgen для генерации объектов LOD
    Это стандартный метод генерации LOD с помощью TES4Edit (TES4LODgen). Он не требует никаких модов VWD или каких-либо опасных скриптов, он просто включает в себя все. Это может быть излишним. Выбирайте метод с умом.

    • Запустите TES4Edit и загрузите все моды в порядке загрузки.  Все они должны быть уже выбраны при запуске программы.
    • Подождите, пока моды загрузятся - смотрите сообщения.
    • Теперь все ваши моды должны быть на левой панели.  Щелкните правой кнопкой мыши любой из них, чтобы вызвать контекстное меню.  Выберите «Other» -> «Generate LOD»



    Установка _far мешей
    Какой бы метод вы ни использовали для создания LOD, он все равно не будет отображать удаленные объекты, пока вы не установите для них специальные меши. Это файлы NIF, к именам которых добавлено «_far». Обычно это упрощенные версии оригиналов. Например, если у вас есть меш дома под названием «house.nif», соответствующий меш_far должен находиться в той же папке и называться «house_far.nif».

    Если вы ожидали, что определенный объект будет виден на расстоянии, но это не так, скорее всего, у вас нет для него _far меша.  Откройте мод в CSE и проверьте расположение оригинального меша этого объекта.  Затем убедитесь, что среди всех ваших BSA и свободных файлов есть вариант _far для этого меша в той же папке, что и оригинал (также убедитесь, что рассматриваемый BSA загружается).  Если у вас его нет и вы не знаете, как сделать файл NIF оптимизированным для просмотра на расстоянии, вы можете просто скопировать оригинал и переименовать его с суффиксом «_far».  Пока у вас не будет одновременно загружаться слишком много таких неоптимизированных сеток, вы не заметите никакого падения производительности (Прим. от наc: настоятельно не рекомендуется так делать, если вы планируете добавлять _far меши для мода, который планируете выпустить для других игроков! Это плохая практика.).

    Игра уже поставляется с набором _far моделей, в их число входят замки и некоторые другие объекты, но не скалы, руины фортов или айлейдские постройки. Установите дополнительные _far меши, например, из мода J3 Atlassed VWD 2, чтобы видеть больше дальних объектов.

    Если вы создали LOD с помощью TES4Edit, будьте очень осторожны при выборе _far мешей — если их слишком много, игра вылетит.  В частности, мод  выше имеет _far меши для каждого крошечного камня, что является опасным при неумелом использовании.

    Однако, если вы создали свой LOD с помощью Construction Set, вы можете без проблем установить любой меш _far, поскольку данные LOD вашего объекта не будут отрисовывать камни.


    Данная статья является переводом статьи  "Building your own LOD" за авторством LenaWolfBravil. Статья была ранее на Nexus'е, но теперь недоступна. Возможно. между ними есть отличия на текущий момент. Внесены некоторые исправления и дополнения от команды сайта.


    User Feedback

    Recommended Comments

    There are no comments to display.



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×
×
  • Create New...