Jump to content

AddPreProcessor


photo

Recommended Posts

Posted

Здравствуйте, помогите пожалуйста решить проблему с добавлением препроцессоров для пользовательского импорта. 

Хотел добавить генерацию уровней детализации импортируемой модели для оптимизирования сцены и добавил это:

        importer.SetParameterString("lods_postfixes", "_lod_0,_lod_1");
        importer.SetParameterString("lods_distances", "-1e+09,3");
        importer.AddPreProcessor("CombineByPostfixes");
        importer.Preprocess();

но ничего не вышло, при этом при добавлении параметров, например importer.SetParameterFloat("scale", 2f);, всё работает и модель увеличивается.

Прилагаю полный код ниже.

Import_New.cs

Posted

Здравствуйте,

Документация по CombineByPostfixes устарела, мы её обновим в скором времени. Я так думаю, что вы смотрели инфорамцию здесь:
https://developer.unigine.com/en/docs/latest/principles/import_system/#lods_postfixes

"lods_distances" - такого параметра не существует. Я думаю, что вы могли видеть ошибки в консоле.
"lods_distances" заменена на 4 других параметра:

"lods_min_visibility"
"lods_max_visibility"
"lods_min_fade"
"lods_max_fade"

Вы можете увидеть полное описание этих параметров тут (якоря могут временно не работать, идут технические работы):
https://developer.unigine.com/en/docs/latest/editor2/fbx/#lods
Соответственно, Min/Max Visibility и Min/Max Fade

Вы ваш код можете попробовать заменить на подобное и посмотреть, если вас всё устраивает:

importer.SetParameterString("lods_postfixes", "_lod_0,_lod_1");
importer.SetParameterString("lods_min_visibility", "-1e+09,3");
importer.SetParameterString("lods_max_visibility", "3,9");

Также вам не нужно вызывать:
importer.Preprocess();
Так как при импорте эта функция вызывается автоматически для импортируемой сцены.

×
×
  • Create New...