SDK:ExportSkeleton.cpp
1 вариант
| Обнаружение | |
| Решение |
? |
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)
Ошибка
Вылет происходит в 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.
Решение
Уменьшите количество полигонов в модели или вынесите часть элементов модели в отдельную текстуру, чтобы число вершин для каждого элемента после экспорта не превышало 65 000 (следует заметить, что SDK может в процессе экспорта создавать больше вершин, чем отображается в редакторе, поэтому лучше уменьшать с запасом).
ВАЖНО! Необходимо именно ФИЗИЧЕСКИ создать еще одну *.dds текстуру с другим именем (пусть даже и такую же по содержанию) и назначить её части модели!
Если в SDK назначить двум или более элементам из Surfaces, текстуру с одним и тем же путем к файлу, то в процессе экспорта эти меши будут "сшиты" в один!
Источники
- ↑ "xr_Sanya" old.ap-pro.ru 16.03.2017 Архивировано: web.archive.org 30.08.2026 ; archive.ph 30.08.2026
- ↑ "Policai" gameru.net 12.11.2019
- ↑ "Prophet2002" amk-team.ru 14.01.2021 Архивировано: web.archive.org 11.11.2024
- ↑ "Шипэтя" amk-team.ru 12.04.2021 Архивировано: web.archive.org 14.09.2024