3ds Max Nif Plugin

Плагин предназначен в первую очередь для импорта и экспорта моделей в формате .NIF в редактор 3ds Max версий 2015 - 2018. В данной версии улучшены возможности настройки моделей столкновения (коллизий), а так же добавлена базовая поддержка моделей для игры Skyrim Special Edition

Работа над плагином ведется с перерывами, поэтому возможно что то упущено из виду. К тому же я не имею возможности полноценно протестировать модели в различных играх. Если обнаружатся ошибки или появятся предложения по работе плагина - вот страница для обсуждения. Активное тестирование приветствуется.

Установка плагина

Распаковать скачанный архив и запустить инсталлятор.
В диалоговом окне отметить установленные в системе версии 3ds Max.

Информация о директориях установки редактора будет получена из реестра. Если по какой либо причине директории определены не будут - то плагин будет скопирован в директорию по умолчанию C:\Program Files\Autodesk\3ds Max {версия}. Файлы MaxNifTools.ini и MaxNifStrings.ini копируются в директорию C:\Users\{имя пользователя}\AppData\Local\Autodesk\3dsMax\{версия} - 64bit\ENU\en-US\plugcfg.

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

При выборе директорий необходимо выбирать корневую папку с папками моделей и текстур, то есть папку Data, а не папки Meshes и Textures, что зачастую пользователи делают по ошибке.

Далее всё по умолчанию.


Изменения версий

 4.0.0.0 beta3
  1. Исправлено сохранение в MaxNifTools.ini параметра "Weld Vertices", и увеличена точность этого параметра до 6 знаков после запятой;
  2. Исправлено определение директории 3ds Max при установке плагина;

 4.0.0.0 beta2
  1. Исправлен экспорт цвета вершин для профиля Skyrim, а также экспорт связанных с этим флагов - SLSF2_VERTEX_COLORS и SLSF1_VERTEX_ALPHA;
  2. Исправлен экспорт скина при скрытых костях скелета;
  3. Исправлен экспорт флагов SLSF1_FACEGEN_DETAIL_MAP, SLSF1_FACEGEN_RGB_TINT, SLSF2_BACK_LIGHTING и SLSF1_MODEL_SPACE_NORMALS для шейдеров SkinTint и FaceTint;
  4. Добавлена новая опция в диалоге экспорта - "Root Node Name". В выпадающем списке можно выбрать один из двух вариантов именования корневого нода в экспортируемом файле: по имени экспортируемого файла, или "Scene Root";

4.0.0.0 beta1
  1. Из состава плагина удалены файлы NifMopp.exe, NifMopp.dll и NifMagic.dll. Весь их функционал реализован в новой утилите HavokEngine.exe, распространяемой с плагином. В настоящий момент утилита осуществляет компиляцию и декомпиляцию блока bhkCompressedMeshShape, расчет MOPP кода, вычисление инерции для динамических моделей, калькуляцию выпуклого многогранника (convex hull) и капсулы а так же расчет Tangents и Bitangents.
  2. Полностью переписан функционал плагина связанный с импортом и экспортом коллизий, а так же их настройкой в редакторе. В частности удалены вспомогательные объекты bhkRigidBody, bhkCollProxy, bhkBox, bhkSphere, bhkCapsule а так же модификатор bhkRigidBodyModifier и утилита NifProps. Всё это заменено одним объектом bhkCollisionObject, с помощью которого можно настроить практически любые коллизии. Подробная документация по новому объекту в процессе написания.
  3. Исправлено чтение из реестра информации об установленных играх.
  4. Исправлен импорт карты нормалей. 
  5. При импорте моделей содержащих скин, в модификаторе Skin снимается чекбокс "Back Transform Vertices".
  6. Новый алгоритм расчета тангентов и бинормалей обеспечивает корректный результат даже при ошибках в развертке модели.
  7. Добавлено автоматическое определение профиля при импорте моделей для некоторых игр.
  8. Для настройки коллизий добавлен параметр "Solver Deactivation".
  9. Чекбокс экспорта нормалей задействован для игр Skyrim и Fallout 4.
  10. В 3ds Max 2017 и 2018 замечено некорректное поведение чекбокса с тремя состояниями, в связи с чем пункты "Vertex Colors" и "Auto Smooth Mesh" в диалоге импорта, ранее имевшие три состояния, разделены каждый на два, соответственно с двумя состояниями каждый.
  11. И в качестве бонуса добавлен вспомогательный объект NiNode, который можно использовать для скелета или построения иерархии в сложных моделях.