×
Меню
Индекс

Причины КТД в моделях

Список некоторых (относительно типовых) ошибок в ниф файлах, вызывающих вылет игры на рабочий стол (КТД - краш то десктоп).
При этом, как правило, записи в warning.txt не происходит!
 
Примечание.
Если проводите радикальный тест и отладку сложной модели, всегда загружайте ее в редактор отдельно.
Т.е. Откройте редактор и сразу же создайте новый активатор, затем поместите в окно рендеринга, т.е. перетащите в мир игры.
Т.е. не загружайте мастер файлов и не создавайте активного плагина.
Только после базовой отладки модели, создайте временный плагин куда и подключите объект в тот раздел, где он должен находится по замыслу!
И уже после завершения всех работ с моделью, настраивайте ее в основном плагине.
Таким образом, существенно экономится время на отладку и предотвращаются случайные баги могущие "угробить" не сохранный проект.
 
Примечание.
Если редактор вылетает в какой-то момент при загрузке ячейки, но в warning.txt нет никаких записей.
Можно попробовать отловить проблемный объект по строке состояния внизу окна редактора.
Там указывается какой объект загружается в ячейку.
Если не успеваете заметить название последнего загруженного объекта, используйте утилиты для захвата видео с экрана!
 

Добавлен не поддерживаемый движком игры объект.
Например, случайно добавили niBone, вместо niNode.
Обычно это сопровождается сообщением, model Load Error и далее что-то там про функцию, или иное.
Это пожалуй самый простой в определении объект.
Достаточно открыть модель и удалить "лишнее".
 
Это "пустая текстура".
Т.е. если в файле есть запись NiSourceTexture но в ней не указана текстура, будет вылет.
Сама запись может быть вне корня файла, но вылет все одно будет.
Удалить такую запись.
 
Это пустой слот текстурных эффектов.
Т.е. в некоторой ноде указано использование текстурных эффектов, однако номера оных не были прописаны.
 
Такое может возникать если удалить текстурный эффект из файла через Remove Branch.
Т.е. из файла то он будет удален, но вот в нодах, где был прописан ранее оставит после себя такую вот пустую запись, которая будет приводить к КТД.
При этом, такие модели могут работать в ОпенМВ, что затрудняет поиск проблемного места в файле...
 
Отключение развертки в NiTriShapeData при активном значении Num UV Sets Х.
Т.е. если кол-во каналов есть, но развертки нет, будет вылет.
Указать кол-во каналов 0, нажать обновить (зеленые стрелки).
 
Редкий зверек, но иногда можно поймать.
Т.е. неверно настроенный NiSkinPartition также будет создавать вылет игры и редактора.
Особенно если нажать опцию нифскопа:
batch->make all skin partition.
 
Т.е. сам объект может работать в ниф файле, но требует правильной настройки!
 
 
Тоже будет создавать КТД, если использует режим генерации частиц с позиций вертексов при флаге 24.
И эмиттер находится ниже системы частиц в файле!
Т.е. порядковый номер и позиция в списке объектов эмиттера частиц, находятся после самой системы частиц.
 
Для исправления;
- поменять номера и поднять эмиттер выше системы частиц.
Правильно!
НЕ правильно!
 
Это один из режимов текстурного эффекта.
И гарантировано приводящий к КТД если:
- указан на корне файла.
- объект имеет свойства альфы.
 
Лечение.
Упаковать корень файла в дополнительную ноду.
Убрать альфа свойства, или сменить тип эффекта на EFFECT_PROJECTED_LIGHT.
 
В слоте Controller указан шейп.
Т.е. по ошибке, вместо номера контроллера анимации, в слоте Controller (шейпа, ноды и пр. объектов) был указан номер шейпа, или иной ноды, или другого объекта.
Это критическая ошибка! Т.е. игра улетает в КТД, ничего не сообщая и не указывая на ошибку в Варнинг.тхт файле.