SDK:ExportSkeleton.cpp
Expression : assertion failed Function : I:\xray-svn\editors\ECore\Editor\ExportSkeleton.cpp File : I:\xray-svn\editors\ECore\Editor\ExportSkeleton.cpp Line : 72 Description : P<u16(-1)
Ошибка[1][2]
Вылет происходит в Actor Editor, при попытке экспорта *.object модели в формат *.ogf
По-простому, причина — превышение лимита полигонажа модели. Например, свыше 65 000.
Если подробно, то слишком большое число ВЕРШИН в модели, которую нужно экспортировать. Каждый OGF Child (элемент меша с одной текстурой) в модели, может иметь не более 65 000 вершин, в противном случае, двух байтов просто не хватит для индексации всех вершин.
Статистику по Child'ам можно увидеть в логе SDK. Вот пример строки:
- Split 0: [Bones: 52, Links: 4, Faces: 84003, Verts: 70827, BrPart: 0, Shader/Texture: 'default'/'mtl\mtl_rja_01']
В данном случае, в элемент модели попытались запихнуть более 70 000 вершин при ограничении в 65 000.
Решение[3]
Уменьшите количество полигонов в модели или вынесите часть элементов модели в отдельную текстуру, чтобы число вершин для каждого элемента после экспорта не превышало 65 000 (следует заметить, что SDK может в процессе экспорта создавать больше вершин, чем отображается в редакторе, поэтому лучше уменьшать с запасом).
ВАЖНО! Необходимо именно ФИЗИЧЕСКИ создать еще одну *.dds текстуру с другим именем (пусть даже и такую же по содержанию) и назначить её части модели!
Если в SDK назначить двум или более элементам из Surfaces, текстуру с одним и тем же путем к файлу, то в процессе экспорта эти меши будут "сшиты" в один!