Объекты разных цветов: тысяча префабов с тысячей материалов?

Оптимизация моделей, текстур, звуков

Объекты разных цветов: тысяча префабов с тысячей материалов?

Сообщение ffinder 08 апр 2009, 11:50

Есть: префаб кирпича, с материалом.
Нужно: каждый кирпич красить в свой цвет.

ЗЫ:Цветов много, т.е. "делаем много материалов" не проходит
ffinder
UNITрон
 
Сообщения: 192
Зарегистрирован: 26 мар 2009, 17:35
  • Сайт

Re: Объекты разных цветов: тысяча префабов с тысячей материалов?

Сообщение Neodrop 08 апр 2009, 11:59

Смена цвета на gameObject.renderer.material приводит к генерации нового материала, а значит нового Render Call, что есть совсем-совсем не оптимально. Лучше таки иметь набор разных материалов и копировать их на свои кирпичи. Так, в конечном итоге, в сцене материалов будет использовано меньше, чем в случае со сменой цвета (скриптом). :-B
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8426
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Объекты разных цветов: тысяча префабов с тысячей материалов?

Сообщение gnoblin 08 апр 2009, 19:14

А если поделить текстуру, например, на 4х4 части (16 разных текстурок в 1й) + сделать 16 моделек кирпичей с разными uv...?
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Объекты разных цветов: тысяча префабов с тысячей материалов?

Сообщение Neodrop 08 апр 2009, 19:20

Неплохо. Но проще одну текстуру и 16 материалов с разными цветами.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8426
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Объекты разных цветов: тысяча префабов с тысячей материалов?

Сообщение ffinder 08 апр 2009, 20:02

только вот материалов не 16 (не EGA адаптер все-таки), а как минимум 60. как максимум 256*256*256.
ffinder
UNITрон
 
Сообщения: 192
Зарегистрирован: 26 мар 2009, 17:35
  • Сайт

Re: Объекты разных цветов: тысяча префабов с тысячей материалов?

Сообщение Neodrop 08 апр 2009, 20:34

А на кой тебе все цвета 256*256*256 ? Это что за помойка такая?
Ответ однозначный - если кирпичей будет больше чем вариаций материала, то лучше заранее заготовить все материалы. Или не париться и наплевать на производительность. :D
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8426
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Объекты разных цветов: тысяча префабов с тысячей материалов?

Сообщение Const_47 09 апр 2009, 17:18

&NeoDrop

Ой.
Смена цвета на gameObject.renderer.material приводит к генерации нового материала, а значит нового Render Call, что есть совсем-совсем не оптимально.


То есть, если я напишу так
Код: Выделить всё
function Awake() {

var obj = Resources.Load("torus");

var obj0 = Instantiate(obj,Vector3(0,0,0),Quaternion.identity);
obj0.renderer.material.color = Color(1,0,0,1);

var obj1 = Instantiate(obj,Vector3(0,1,0),Quaternion.identity);
obj1.renderer.material.color = Color(0,1,0,1);
}


то что? изменяя цвет инстанса я буду каждый раз, для каждого инстанса, генерировать новый материал? А разве ента генерация не происходит в процессе инстансирования? Поделитесь пожалуйста знаниями, мне очень
хочется понять.
Const_47
Герой Форума
 
Сообщения: 271
Зарегистрирован: 23 мар 2009, 19:24
Откуда: Украина. Львов\Новояворовск

Re: Объекты разных цветов: тысяча префабов с тысячей материалов?

Сообщение Neodrop 09 апр 2009, 18:32

Нет. При инстансировании объекта, используются его же меши, компоненты и материалы. Любое изменение материала приводит к генерации нового материала.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8426
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Объекты разных цветов: тысяча префабов с тысячей материалов?

Сообщение Const_47 09 апр 2009, 18:54

Спасибо, да енто так. Потестил и посмотрел в инспектор:)
Const_47
Герой Форума
 
Сообщения: 271
Зарегистрирован: 23 мар 2009, 19:24
Откуда: Украина. Львов\Новояворовск

Re: Объекты разных цветов: тысяча префабов с тысячей материалов?

Сообщение Neodrop 09 апр 2009, 19:09

Я поражён, что угадал! :-?
=))
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8426
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Объекты разных цветов: тысяча префабов с тысячей материалов?

Сообщение fox 10 апр 2009, 10:29

to Neodrop :-bd =))
Добавить foxumkov в Skype
Мои проекты:
Turbodrive
Изображение

Изображение
Аватара пользователя
fox
UNITрон
 
Сообщения: 255
Зарегистрирован: 07 ноя 2008, 13:02
Откуда: Питер
  • ICQ

Re: Объекты разных цветов: тысяча префабов с тысячей материалов?

Сообщение Palmer 20 апр 2013, 19:38

да вы серьёзно???
просто переписываете шейдер, в нём добавляете цвет вершины к результирующему, и при создании кирпича присваиваете всем вершинам кирпича нужный цвет.
всё, материал один, всё батчится, миллион цветов и один дравкол
Аватара пользователя
Palmer
UNец
 
Сообщения: 35
Зарегистрирован: 27 фев 2011, 01:44
  • Сайт


Вернуться в Медиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2