• Добро пожаловать на Quest3D - Русскоязычное сообщество.
 

несколько шейдеров на объект

Автор DFM, 06 июля 2011, 14:09:12

« назад - далее »

DFM

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


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

Alteste

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

Ruslan

можно заморочиться и написать свой канал, + экспортер
или
не создвавать multi sub материалы, + использовать загрузчик

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

DFM

Цитата: Alteste от 06 июля 2011, 21:16:04
В Quest3D нельзя сетить несколько шейдеров на один объект, ибо там не поддерживается multi\sub-object.
очень жаль
Цитата: Ruslan от 07 июля 2011, 02:22:36
не создвавать multi sub материалы, + использовать загрузчик

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

dfx

прочитал несколько раз и так и не понял, зачем создавать отдельный 3добжект для каждого сюрфейса. Отдельный шейдер можно линковать к каждому из сюрфейсов. Или речь о глобалшейдере? С глобалшейдером вопрос можно решить условиями в коде шейдера или несколькими его вызовами, но условиями отключать не нужные для текущего шейдера сюрфейсы.

DFM

Цитата: dfx от 09 июля 2011, 01:03:07Отдельный шейдер можно линковать к каждому из сюрфейсов.
что то не совсем понимаю а как их вытащить из 3добжекта для линковки ?

Alteste

Цитировать
что то не совсем понимаю а как их вытащить из 3добжекта для линковки ?

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

Ruslan

Цитироватьпрочитал несколько раз и так и не понял, зачем создавать отдельный 3добжект для каждого сюрфейса.
Такое может понадобиться, если нужно для каждого сурфейса иметь свою матрицу, а так же нужна возможность отсекать невидимый в камеру мешь, или фрустум нужен по расстоянию.

dfx

ЦитироватьТакое может понадобиться, если нужно для каждого сурфейса иметь свою матрицу, а так же нужна возможность отсекать невидимый в камеру мешь, или фрустум нужен по расстоянию.

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

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

Ruslan