×
Меню
Индекс

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

Список некоторых (относительно типовых) ошибок в ниф файлах, вызывающих вылет игры на рабочий стол (КТД - краш то десктоп).
При этом, как правило, записи в 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 (шейпа, ноды и пр. объектов) был указан номер шейпа, или иной ноды, или другого объекта.
Это критическая ошибка! Т.е. игра улетает в КТД, ничего не сообщая и не указывая на ошибку в Варнинг.тхт файле.