Скачал с Нета этот плагин, долго мучился в освоении. Понял как применять текстуру, но незнаю как перевести всё это дело в Quest. Прошу помощи! Может кто знает уроки или мануал на русском?
https://guest3d.wohlnet.ru/forum/index.php?topic=426.0
Спасибо конечно, но мне бы ещё узнать про ShaderFX в 3DS max'e. Там же визуальный принцип, так проще:) Помогите! :)
там да, но код он генерит с ошибками, так что тебе придётся ручками допиливать массивы света, переварачивать оси.
а так всё работает без дополнительных вмешательств
1. Открой пример в репозитории ШейдерФХ ( располагается в той же папке где и сам плагин).
2. Скомпилируй его с параметрами Quest3D.
3. встовляешь код в HLSL канал
типа всё
Создаю свой код в максе добавляю в хлслобъект но теряются текстуры и нормали наружу выворачиваются, в этом случае применяю модификатор Нормали, и вроде нормально, но в квесте когда я приблежаю свет к объекту то освещение как бы освещает только зад объекта, за то в максе всё хорошо. Что делать? Неужели писать весь код в HLSLOBJECT? Есть вариант проще?
скрины давай , угадывать я не собираюсь.
судя по словам - нормали флипнуты (это часто происходит при примении отзеркальнных объектов)
попытайся экспортнуть обычный чайник и на нём проверить всё
я в скайпе с 12,00 до 6,00 логин sqwer_37
обясню в деталях если ситуация в тупик встанет
На чайник наложил две текстуры, поверхность и бамп. Экспортирую модель в Quest (COLLADA), добавляю HLSLObject и всё, нормали выворачиваются, а текстур как и не было.
В Максе стандартные текстуры не накладывал, сразу создавал в ShaderFX. Потом приходиться отдельно клеить текстуры на HLSLObject. Смотрите скрины там всё есть. Код FX так же прикрепляю. Помогите пожалуйста, игра стоИт.
P.S. Если у меня есть созданный уровень, мне придётся разбивать всё на части и накладывать FX отдельно?
Sqwer ты скорее всего либо в Москве живёшь либо где то рядом, мне как ориентироваться во времени, по Москве?
Я с дальнего востока, у нас на +6 часов разница. Если у вас 12 часов дня, то у нас 6 часов вечера. )
Извиняюсь, думаю что скрины показать не получиться, так как не могу загрузить, я сижу с кпк, скорость отвратительно маленькая 3.5 Кб/с
technique Complete
{
pass light1
{
VertexShader = compile vs_3_0 v(light_pos[0], light_type[0], light_dir[0]);
ZEnable = true;
CullMode = cw;
ShadeMode = Gouraud;
ZWriteEnable = true;
AlphaBlendEnable = false;
SrcBlend = SrcAlpha;
DestBlend = One;
AlphaTestEnable = FALSE;
PixelShader = compile ps_3_0 f(light_dir[0], light_color[0], float4(light_atten1[0], light_atten2[0], light_atten3[0], 1.0), light_hotspot[0], light_falloff[0], light_type[0], light1attenType, light1coneType, light1CastShadows, 1);
}
}
CullMode = cw;
меняй на
CullMode = cсw;
Всё получилось, спасибо! Вот только один вопрос остался: Мне надо сначала в Максе накидывать текстуры на объект, а потом в Квесте добавлять HLSLOBJECT? И есть ли уроки по ShaderFX в максе? Спасибо Sqwer!
ЦитироватьМне надо сначала в Максе накидывать текстуры на объек
это вопрос касательно менеджмента ресурсов - решать тебе.
Цитировать
а потом в Квесте добавлять HLSLOBJECT?
а про Глобал Шейдер ты не слыхивал?
Цитировать
И есть ли уроки по ShaderFX в максе?
Есть, там от куда ты эту программу и качал.
есть даже серия уроков на Ютубе от разработчиков.
Нет, про глобал шейдер я не слышал, расскажи по подробней.
Sqwer добрый человек, помоги пожалуста разобраться, как экспортировать шэйдер Leaf UV rotation из Shader FX? Сколько я не разбирался в шейдере -это для меня что-то абстрактное, на интуиции что-то понимаю, а толком нет.
Ошибка в строке:
float3 input1 = TextureMap_3430.rgb;
пишет invalid subscript rgb
тут как я понял оператору input1 присваевается значение rgb текстуры TextureMap_3430.
Тогда почему неможет определить этот самый ргб, это ж канал текстуры,
Другие шейдеры экспортировал там вроде тоже самое но работает. ???
Пробовал всавить перед этой строкой следующее:
float4 TextureMap_3430 = tex2D(TextureMap_3430Sampler, In.texCoord.xy);
шейдер начал компилироваться нормально, но при переходе в окно анимации видно что он неработает.
ЦитироватьLeaf UV rotation из Shader
ты его поменял
ЦитироватьОшибка в строке:
float3 input1 = TextureMap_3430.rgb;
пишет invalid subscript rgb
не соответсвие размерностей TextureMap_3430.rgb;
Цитироватьвидно что он неработает.
Я не телепат, что происходит ? выдаёт ошибку или результат работы не совсем такой , который ты хотел увидеть?
Если текстура не двигается.
Цитироватьfloat4 TextureMap_3430 = tex2D(TextureMap_3430Sampler, In.texCoord.xy);
а надо было всавлять вместо
In.texCoord.xy ротационные координаты
UVRotator.xy
Всё кажись разобрался. :) Там целый кусок кода отсутствовал в вершинном и пиксельном шейдере. Вот вам и Shader Fx, косячит он короче. Пришлось долго "медитировать над кодом" и копипастить.