Войти
UnityФорумArt

Слишком много вертексов при экспорте модели в Unity

#0
23:56, 21 июля 2018

Доброго времени суток! Хочу заручится вашей помощью.

Проблема возникла откуда совсем не ждали, однако она есть и хотелось бы её как то решить.

Для полноты картины следует расписать весь цикл моделирования от и до. (сам я моделю буквально меньше месяца и вообще не понимаю во многих глубоких фишках)

Ранее при создании модели в MagicaVoxel и экспорте её в Untiy (obj.) не возникало проблем с просчетом вертексов. То есть, созданная модель в MagicaVoxel имеет допустим 6000 вертексов, значит и в Юнити будет 6000 вертексов.
Для меня это значение показалось большим, поэтому я решил оптимизировать модель при помощи Blender (использовал вот этот видео урок https://www.youtube.com/watch?v=5MY3rsq5JGw&t=4s
После оптимизации, модель стала иметь всего 1800 полигонов. Вот красота, подумал я и начал экспортировать модель в Unity, однако после экспорта модель в юнити стала иметь аж 11000 вертексов!!!

Далее, наткнулись на VoxelShop. У них есть свой оптимизатор и не надо заниматься всей той хероборой в Blender, все делается в два клика + оптимизирует лучше.
После оптимизации и экспорта модели, она стала иметь всего 1300 вертексов, однако перенося модель в Unity она снова имеет почти 11000 вертексов.

Внимание вопрос! В чём причина такого катастрофического роста вертексов при экспорте?

Одна из причин: UV map, при удалении материалов, карт, текстур и прочего, количество вертексов падает в половину.

Мы знаем, что Unity отрисовывает вертексы от всего чего только возможно. Однако я не могу найти информацию от чего именно и как от этого избавиться. И если от текстур не откажешься, то возможно от других модификаторов (или что это вообще?) можно как то отказаться?

Пример кстати той самой "оптимизированной модели" до и после экспорта в Unity.

+ Показать


#1
0:52, 22 июля 2018

Каждый разрыв UV (шов) — дает дополнительный вертекс в юнити.
Каждый hard edge  дает тоже лишние вертексы (в блендере шейдинг smooth/flat).
В 3д редакторах эти особенности не учитываются при подсчете обычно.
Как избежать: использовать минимум швов на развертке (никаких быстрых разверток) + везде где можно по максимуму избегать hard edge'й.

#2
7:39, 22 июля 2018
Мы знаем, что Unity отрисовывает вертексы от всего чего только возможно.

не, только от того что нужно

#3
12:03, 22 июля 2018

Я пользуюсь таким скриптом для 3дМакса:

+ Показать

И вот их описание причин, по которым количество вершин может отличаться.
+ Показать

Кстати, всё равно скрипт даёт не совсем точные числа, но уже ближе к истине.

#4
12:47, 22 июля 2018

Супер! Спасибо за разъяснения, Royoyo рад видеть в темке :) Позже забегу глянуть как там развивается твой Diablo Like

#5
14:01, 22 июля 2018

Zenusoid
Да наш проект уже умер :)

#6
20:26, 22 июля 2018

Royoyo
> Да наш проект уже умер :)

А почему?

UnityФорумArt

Тема в архиве.