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

"Крутизна и реализьм" - тема про шейдеры

Автор KBECT0MAH, 25 декабря 2007, 04:18:22

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

IYV

 Помогите пожалуйста установить ShaderFX.Кейген не срабатывает,выдает ошибку.Кто знает,в чем может быть дело? скр http://www.easyload.ru/download/?10229

Medwedius

Какую ошибку? Пилюлю надо запускать из макса через Maxscript/run script и выбрать файл лекарства. В нем ввести МАК адрес. Как его узнать?  :) Идешь в Пуск/Выполнить (Start/Run) (это в Винде) набираешь cmd и ентер, набираешь ipconfig /all Физический адрес и есть МАК адрес... Удачи.

BROTHERMECHANIC

В максе есть такая фитча
((http://i054.radikal.ru/0806/9a/6f029e5fded0.jpg))
C помощью которой вроде можно из материалов делать шейдеры.
Сделал (прикрепленный).
При вставке его в квест получается просто черный обьект
(http://i027.radikal.ru/0806/ae/c95087f1e55c.jpg).
Что я не так делаю или как правильно атачить шейдеры в квесте, подскажите пожалуйсто.

TOXin

Вам нужно подогнать ваш шейдер под квестовскую семантику.

BROTHERMECHANIC

Тоесть, не все шейдеры одинаково подходят к квесту?
И матэдитор делает "неправильные" fx-файлы?
А в синематику я побаиваюсь изменять, пока нет опыта,
но если кто встречал в нете про эти маэдиторские файлы - кинте ссылку.

ps А в квесте я правильно подключил?
pss Да, еще и после подключения, этот кубик нельзя изменять по цвету и пр. (где на рисунке знак "?")

dfx

to Brothermechanic

Подключил всё правильно, правда папка "material" уже не пригодится :)

Про симантику...
В шейдере надо прописать "метки" для квеста, что бы он знал, что есть что.

Пример для вектора:

float3 lightcolor : CHANNELVECTOR0
<
   string UIName = "LightColorA";
   string UIWidget = "color";
> = {1,1,1};

Пример для текстуры :

texture diffuseMap : TEXTURE0
<
    string ResourceName = "diffuse.jpg";
    string ResourceType = "2D";
>;

texture BumpMap : TEXTURE1
<
    string ResourceName = "normal.tga";
    string ResourceType = "2D";
>;

и т.д.

TEXTURE0, TEXTURE1, TEXTURE2...
Кстати в этой последовательности и надо линковать каналы, т.е. если TEXTURE0 - это diffuse, а TEXTURE1 - normal, то первым линкуется дифуз, а второй нормал и т.д. :)
Тоже самое и с векторами, значениями(CHANNELVALUE0)и матрицами(CHANNELMATRIX0), только эти эти значения меняются через соответствующие каналы, которые линкуются непосредственно с объекту HLSLObject.

BROTHERMECHANIC

dfx, спасибо за faq, Я ПОНЯЛ!!! ... вроде...
Буду пробовать. Через блокнот ведь можно изменить?

dfx

to Brothermechanic
Можно и в блокноте, хотя я просто линкую к HLSLObject текстовый канал, копирую туда код шейдера и правлю всё уже там...

Glow

Такой вопрос - как в шейдере поставить управление масштабом UV от переменной, причем отдельно U и М?

dfx

To Glow

Вот пример блока кода, в котором берутся данные о модели из приложения:

   half4 position      : POSITION;
   half3 tangent      : TANGENT;
   half3 binormal      : BINORMAL;
   half3 normal      : NORMAL;
   float2 texCrd      : TEXCOORD0; //Это первый текстурный канал, float2 - двумерный вектор(UV)


В вертексном блоке, обычно просто переносят эти данные во фрагментный блок без изменений:

   Out.texCrd = In.texCrd;

Но, что бы изменять масштаб координат, например в первом канале, надо в код внести такие изменения:

Out.texCrd.x = In.texCrd.x*Ваша_преременная_для_U;
Out.texCrd.y = In.texCrd.y*Ваша_преременная_для_V;
или
Out.texCrd = float2(In.texCrd.x*Ваша_преременная_для_U, In.texCrd.y*Ваша_преременная_для_V);
// Так при умножении на 1 координаты не изменятся, при *0,5 - тайловая текстура увеличится в 2 раза, при *2 - уменьшится в 2 раза и т.д.

Если же требуется просто смещать координаты по какой либо из осей, то значения надо прибавлять, наприамер In.texCrd0.x+Ваша_преременная_для_U и т.д.

Надеюсь, что понятно объяснил. :)

Glow


mehanik1982

нужна помощь кто знает где можно скачать плагин Shader FX

Lotus Assassin


mehanik1982

#28
Lotus Assassin благодарю

27 Июня 2008, 18:24:37
кто знает где взят урок как сночала зделать шейдер в максе а потом експортировать в Quest3D и подключить его там если есть у кого видео вылаживайте зарание блогодарен

(причина редактирования - "оверпостинг")

Denil-Tornado

Люди дайте ссылку на Shader FX для 2009 Макса, а то на эти ссылки захожу там мне пишут "нет файла"