Quest3D - Русскоязычное сообщество

Quest3D => Визуализация, Шейдеры => Тема начата: DFM от 06 Июля 2011, 13:09:12



Название: несколько шейдеров на объект
Отправлено: DFM от 06 Июля 2011, 13:09:12
Сделал в ShaderFX шейдеры для объекта, но объект состоит из нескольких материалов (multi\sub-object) и для каждого из них свой шейдер. В максе это делается просто - нанесением нескольких шейдеров на один объект:
http://www.youtube.com/watch?v=cJyTjaqz_jE
А как это реализовать в квесте?


на скрине то как я его подключил, но так можно только один, а как несколько?


Название: Re: несколько шейдеров на объект
Отправлено: Alteste от 06 Июля 2011, 20:16:04
В Quest3D нельзя сетить несколько шейдеров на один объект, ибо там не поддерживается multi\sub-object.
Например, если ты экспротируешь такой объект в квест, то он развалится на несколько самостоятельных объектов (по числу материалов, что ты ставил в максе)
Делать нужно всегда в 1 материал, поэтому и рисуют текстуры-раскладки и маски. Можно конечно и поизвращаться - обозначить ID материалов цветом вершин и в шейдере по этому цвету вершин сетить соответствующие настройки.
Не знаю как в других движках, но вот в юнити есть мульти саб обжект)


Название: Re: несколько шейдеров на объект
Отправлено: Ruslan от 07 Июля 2011, 01:22:36
можно заморочиться и написать свой канал, + экспортер
или
не создвавать multi sub материалы, + использовать загрузчик

Цитировать
на скрине то как я его подключил, но так можно только один, а как несколько?
все Surface подключить к отдельным каналам 3D Object


Название: Re: несколько шейдеров на объект
Отправлено: DFM от 07 Июля 2011, 05:59:49
В Quest3D нельзя сетить несколько шейдеров на один объект, ибо там не поддерживается multi\sub-object.
очень жаль
не создвавать multi sub материалы, + использовать загрузчик

все Surface подключить к отдельным каналам 3D Object
будем пробовать, спасибо


Название: Re: несколько шейдеров на объект
Отправлено: dfx от 09 Июля 2011, 00:03:07
прочитал несколько раз и так и не понял, зачем создавать отдельный 3добжект для каждого сюрфейса. Отдельный шейдер можно линковать к каждому из сюрфейсов. Или речь о глобалшейдере? С глобалшейдером вопрос можно решить условиями в коде шейдера или несколькими его вызовами, но условиями отключать не нужные для текущего шейдера сюрфейсы.


Название: Re: несколько шейдеров на объект
Отправлено: DFM от 09 Июля 2011, 11:15:07
Отдельный шейдер можно линковать к каждому из сюрфейсов.
что то не совсем понимаю а как их вытащить из 3добжекта для линковки ?


Название: Re: несколько шейдеров на объект
Отправлено: Alteste от 09 Июля 2011, 12:17:02
Цитировать
что то не совсем понимаю а как их вытащить из 3добжекта для линковки ?

Цитировать
Например, если ты экспротируешь такой объект в квест, то он развалится на несколько самостоятельных объектов (по числу материалов, что ты ставил в максе)


Название: Re: несколько шейдеров на объект
Отправлено: Ruslan от 09 Июля 2011, 13:21:45
Цитировать
прочитал несколько раз и так и не понял, зачем создавать отдельный 3добжект для каждого сюрфейса.
Такое может понадобиться, если нужно для каждого сурфейса иметь свою матрицу, а так же нужна возможность отсекать невидимый в камеру мешь, или фрустум нужен по расстоянию.


Название: Re: несколько шейдеров на объект
Отправлено: dfx от 09 Июля 2011, 16:59:54
Цитировать
Такое может понадобиться, если нужно для каждого сурфейса иметь свою матрицу, а так же нужна возможность отсекать невидимый в камеру мешь, или фрустум нужен по расстоянию.

С этим согласен, но это же не имеет никакого отношения к уникальным шейдерам на какую либо часть объекта!?
Впрочим, разобрались. ;D

В любом случае, мне было проще резать мешь на части по материалам в редакторе, т.к. уже в максе можно было задать нормальные имена для каждой. И после импорта объекта в квест уже было видно, что это за часть. А если использовать ОО, так вообще можно автоматом материалы назначать при инициализации объекта. Вобщем, кому как удобнее..


Название: Re: несколько шейдеров на объект
Отправлено: Ruslan от 09 Июля 2011, 20:01:05
Так точно!