Что такое формат файла NIF?
Файл .nif - это проприетарный бинарный файл 3D-сцены, используемый движками NetImmerse и Gamebryo. Он наиболее известен как основной формат 3D-активов для игр Bethesda Game Studios, начиная с *The Elder Scrolls III: Morrowind* (2002) и заканчивая *Starfield* (2023).
Файл начинается с человекочитаемой строки заголовка ASCII: версии до 10.0.1.0 начинаются с NetImmerse File Format, Version X.X.X.X, а версии 10.1.0.0 и выше используют Gamebryo File Format, Version X.X.X.X. После заголовка остальная часть файла является бинарной и организована в виде типизированного списка блоков, формирующих граф сцены. Блоки представляют геометрию сетки (NiTriShape), узлы скелета (NiNode), тела коллизий Havok (bhkRigidBody), свойства шейдеров (BSLightingShaderProperty) и цели морфинга, связанные между собой целочисленными индексами.
Текстуры хранятся отдельно в виде файлов .dds; скелетная анимация часто содержится в сопутствующих файлах ключевых кадров .kf. Игровые активы обычно упаковываются в архивы .bsa или .ba2 для распространения.
Конечные пользователи сталкиваются с файлами .nif преимущественно при модификации игр Bethesda. Проект niftools/nifxml, поддерживаемый сообществом, выполнил обратную разработку формата и обеспечивает работу таких инструментов, как NifSkope и дополнение Blender Niftools Add-on. Самой распространенной версией является 20.2.0.7, используемая в Skyrim Special Edition и Fallout 4; в Starfield представлен обновленный вариант с новыми типами блоков.
Безопасность и защита
РИСК: LOWФайлы NIF являются статичными данными 3D-активов и не могут исполнять код. Их безопасно открывать в NifSkope или Blender. Практический риск при получении файлов NIF заключается в источнике: моды, распространяемые в виде архивов на таких сайтах, как Nexus Mods, обычно проверяются, но случайные загрузки могут содержать несвязанное вредоносное ПО в том же архиве. Всегда берите моды из надежных источников (Nexus Mods, Bethesda.net) и сканируйте архивы перед извлечением.
Детали формата
в двух словахПрограммы, открывающие файлы NIF
Технические подробности
глубокая спецификация| Формат заголовка | Строка ASCII «NetImmerse File Format, Version X.X.X.X» (версии ≤10.0.1.0) или «Gamebryo File Format, Version X.X.X.X» (≥10.1.0.0), заканчивающаяся байтом 0x0A; остальная часть файла бинарная |
| Порядок байтов | Little-endian в стандартных сборках для ПК; некоторые старые консольные сборки используют big-endian |
| Структура тела | Типизированный список блоков, формирующий граф сцены; каждый блок - это именованный типизированный объект, связанный с другими через целочисленные индексы |
| Ключевые типы блоков | NiNode (скелет/трансформация), NiTriShape (геометрия сетки), BSLightingShaderProperty (шейдер), bhkRigidBody (коллизия Havok) |
| Диапазон версий | от v3.03 (ранний NetImmerse, ~1997) до v20.2.0.7 (Skyrim SE / Fallout 4); Starfield использует расширенный обновленный вариант |
| Хранение текстур | Текстуры не встраиваются; на них ссылаются как на внешние файлы .dds по пути |
| Хранение анимации | Скелетные анимации хранятся в сопутствующих файлах ключевых кадров .kf, отдельно от сетки .nif |
| Система коллизий | Физика Havok через типы блоков bhk* (bhkRigidBody, bhkConvexVerticesShape, bhkMoppBvTreeShape и т. д.) |
| Типичный размер файла | 10 КБ - 50 МБ (простые объекты ~10-200 КБ; сложные модели персонажей 1-10 МБ; полные интерьерные сцены до 50 МБ) |
| Сжатие | Отсутствует на уровне файла; игровые архивы .bsa / .ba2 могут применять сжатие LZ4 при упаковке файлов .nif |
| MIME-тип | application/octet-stream (зарегистрированный MIME-тип для формата NIF отсутствует) |
| Спецификация формата | Поддерживаемая сообществом XML-схема niftools/nifxml на github.com/niftools/nifxml; официальная публичная спецификация от Bethesda отсутствует |
| Основные связанные игры | Morrowind, Oblivion, Fallout 3/NV, Skyrim LE/SE, Fallout 4, Starfield (все от Bethesda Game Studios) |
| Выпущен | 1997 (NetImmerse engine); Gamebryo rebranding 2003; format used through 2023 in Bethesda Starfield |
| Последняя версия | NIF version 20.2.0.7 (Bethesda Skyrim Special Edition / Fallout 4 era); Starfield uses an updated variant |
| Спецификация | github.com |
Конвертации NIF
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах NIF.