SDK:ExportSkeleton.cpp: различия между версиями

Материал из Моддинг трилогии S.T.A.L.K.E.R. - MODFAQ.RU | +TES/Fallout
Перейти к навигации Перейти к поиску
Новая страница: «__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)

Ошибка[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, текстуру с одним и тем же путем к файлу, то в процессе экспорта эти меши будут "сшиты" в один!


Источники