Страница 1 из 1

Получить меш, когда они CombinedMesh

СообщениеДобавлено: 03 янв 2022, 13:46
mastersmit
Суть такова, что надо использовать батчинг и при этом надо в Эвейке/Старте получить оригинальный меш, чтобы забрать позиции его вертексов.. Но не могу, т.к. каждый раз получаю комбайнедмеш, либо эксепшн. Пробовал инстансить и тут же получать вертексы, но получаю эксепшн на комбайнедмеш, к которому нет доступа.. Как это можно обойти не назначая меш в инспекторе? Скажем так автоматизировать процесс..

Re: Получить меш, когда они CombinedMesh

СообщениеДобавлено: 03 янв 2022, 20:51
jetyb
Юнити батчит меши в отдельные сабмеши скомбайной.

Re: Получить меш, когда они CombinedMesh

СообщениеДобавлено: 04 янв 2022, 02:00
waruiyume
StaticBatchingUtility.Combine
Правда надо самому скармливать нужные объекты.

Re: Получить меш, когда они CombinedMesh

СообщениеДобавлено: 04 янв 2022, 13:13
mastersmit
jetyb писал(а):Юнити батчит меши в отдельные сабмеши скомбайной.

Дык это я знаю. Меня вот и ввело в ступор как получить к оригинальному мешу доступ, когда он скомбайнен.. В интернете способа не нашёл, на форуме юнити писали, что то ли баг, то ли фича..

Re: Получить меш, когда они CombinedMesh

СообщениеДобавлено: 04 янв 2022, 13:15
mastersmit
waruiyume писал(а):StaticBatchingUtility.Combine
Правда надо самому скармливать нужные объекты.

А я по другому сделал. На каждом таком объекте висит же скрипт, который и должен был получать меши в свою переменную в Эвейке. Выкрутился тем, что сделал скрипт для редактора в тулбар, пункт которого ищет на сцене все скрипты, которые висят на объектах и просто сам заполняет переменную. Костыль, но работает)

Что интересно, в редакторе если получать меш в Эвейке, то все норм. В билде на дроид/пк не хочет. Хотя статичный батчинг должен отрабатывать после Эвейка до Старта. В ОнЕнабле так же как и в Эвейке работает - в редакторе норм, в билде хер..

Re: Получить меш, когда они CombinedMesh

СообщениеДобавлено: 04 янв 2022, 13:45
waruiyume
Меши для статингбатчинга генерируются на этапе сборки, можно неслабо удивиться, увидев несколько сотен лишних мегабайт, в размере apk, после включения батчинга. Полагаю, что ссылок на оригинальные меши, а то и самих мешей, не остаётся.

Re: Получить меш, когда они CombinedMesh

СообщениеДобавлено: 04 янв 2022, 15:41
mastersmit
waruiyume писал(а):Меши для статингбатчинга генерируются на этапе сборки, можно неслабо удивиться, увидев несколько сотен лишних мегабайт, в размере apk, после включения батчинга. Полагаю, что ссылок на оригинальные меши, а то и самих мешей, не остаётся.

На форуме юнитеков офпредставитель говорил, что статингбатчинг срабатывает между Эвейком перед Стартом самой сцены, собсно он же и указал, что это какой то баг, правда еще с 19 года. Сами оригинальные меши же висят в сборке, ибо как тогда я смог получить доступ к ним таким нехитрым способом?

Re: Получить меш, когда они CombinedMesh

СообщениеДобавлено: 05 янв 2022, 02:52
DbIMok
непонятно, что ты пытаешься рассказать/доказать. выкладывай тестовые примеры, демонстрирующие о чем ты говоришь. если ссылаешься на какие-то ответы разработчиков, прикладывай ссылки. иначе зачем этот монолог здесь?
пока, насколько я понял, ты хочешь в рантайме получать сабмеши из сгенерированного статик меша (что, вроде бы, невозможно, так как юнити перестраивает меш в зависимости от видимости отдельных частей). далее, если я правильно тебя понял, ты прошелся в редакторе по объектам и проставил в поле скриптов на объектах ссылки на оригинальные меши, таким образом, у тебя в билде как общий статик меш, так и отдельные исходные меши.