SDK:ExportSkeleton.cpp: различия между версиями
Новая страница: «__NOTOC__ <pre> Expression : assertion failed Function : I:\xray-svn\editors\ECore\Editor\ExportSkeleton.cpp File : I:\xray-svn\editors\ECore\Edi…» |
Нет описания правки |
||
| Строка 8: | Строка 8: | ||
</pre> | </pre> | ||
=== Ошибка<ref>[http://www.amk-team.ru/forum/topic/12733-x-ray-sdk-instruktcii-po-vyletam-i-oshibkam/ Тема "<nowiki>[SoC]</nowiki> Вопросы по SDK" на AMK форуме]</ref> === | === Ошибка<ref>[http://www.amk-team.ru/forum/topic/12733-x-ray-sdk-instruktcii-po-vyletam-i-oshibkam/ Тема "<nowiki>[SoC]</nowiki> Вопросы по SDK" на AMK форуме]</ref><ref>[http://ap-pro.ru/forum/21-11239-1002335-16-1489658420 Пост пользователя "xr_Sanya" на форуме AP Production]</ref> === | ||
Вылет происходит в '''Actor Editor''', при попытке экспорта [[*.object]] модели в формат [[*.ogf]] | Вылет происходит в '''Actor Editor''', при попытке экспорта [[*.object]] модели в формат [[*.ogf]] | ||
Текущая версия от 10:49, 27 февраля 2019
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.
Решение[3]
Уменьшите количество полигонов в модели или вынесите часть элементов модели в отдельную текстуру, чтобы число вершин для каждого элемента после экспорта не превышало 65 000 (следует заметить, что SDK может в процессе экспорта создавать больше вершин, чем отображается в редакторе, поэтому лучше уменьшать с запасом).
ВАЖНО! Необходимо именно ФИЗИЧЕСКИ создать еще одну *.dds текстуру с другим именем (пусть даже и такую же по содержанию) и назначить её части модели!
Если в SDK назначить двум или более элементам из Surfaces, текстуру с одним и тем же путем к файлу, то в процессе экспорта эти меши будут "сшиты" в один!