2013-04-30 2 views
2

У меня есть 12 материалов в общей сложности в моей игре. Тогда у меня есть различные Gameobjects, у которых есть много материалов, прикрепленных к нему, например Gameobject1 также имеет 10 детей, каждый из которых использует 2 одинаковых материала. Теперь с Gameobject1 у меня есть 20 draw-calls Я хочу уменьшить их, для которых я включил Dynamic Batching в файле unique3d и подключил CombineChildren.js к GameObject1, но все же результат тот же, у меня есть 20 drawcalls, но я хочу уменьшить его до 2 draw-calls, потому что я использую только два материала неоднократно в Gameobject1. Где я ошибаюсь?Обмен материалов в Unity3d

Любая помощь будет принята с благодарностью

+0

Вы говорите о статических или динамических GameObjects? – Heisenbug

+0

dynamic Gameobjects.Я использую систему пулов, чтобы развернуть игровой объект в одной позиции, затем отбросить их, а затем вызвать их в другую точку. – hariszaman

+1

Вы проверили, что все условия в [Draw Call Batching] (http: //docs.unity3d. com/Documentation/Manual/DrawCallBatching.html), как и тот же размер, свет, тени, ... выполнены? Если да, попробуйте в редакторе, действительно ли количество обратных вызовов зависит от количества детей. Пауза и установите 5 из них неактивными, а затем посмотрите, уменьшаются ли призывы рисования. Чтобы получить реалистичные результаты, вам нужно использовать те же настройки качества, что и на платформе вашего целевого игрока. – Kay

ответ

0

В моем случае я был в состоянии решить эту проблему путем объединения всех сеток из игровых объектов для детей в одну сетку с CombineMeshUtility.js, который поставляется с единством3D. Таким образом, родительский объект игры (Empty Gameobject) теперь имеет 1 игровой объект, который является сеткой всех дочерних элементов, а затем имеет другие дочерние игровые объекты без какого-либо средства визуализации или материала. Надеюсь, это ясно.

0

(1) Используйте окклюзия только делают то, что камера в сцене просмотра. окклюзия - очень эффективный способ уменьшить призывы к обращению.

Occlusion Culling

(2) Использование тех же материалов для объектов.

(3) вы можете Lightmap вашей сцены. затем используйте этот инструмент, чтобы сжать все карты света в одну большую карту. Tool found here in detailed explanation

Scene Optimization

, если вы используете все три метода, ваши ничьи звонки будут резко сокращены без компромата качества графики функциональности

Смежные вопросы