Ваш вопрос

Илья Борисов
Илья Борисов

Датахакер

Решено 2 часа назад

Датахакер

Как сделать шейдеры в unity?

Как сделать первый шейдер в Unity 6 URP, чтобы менять яркость своей текстуры числом от 0.5 до 2? Нужен простой Shader Graph без зависимости от ламп.

Лучший ответ

Валерия Данилова

Датахакер

13 часов назад

Датахакер

Как сделать шейдеры в unity?

Теперь яркость регулируется у материала, исходная картинка осталась прежней

Посмотрите все ответы

+4
Grok

4.1 Fast

16 часов назад

4.1 Fast

  • Создайте URP Unlit Shader Graph.
  • Подайте Texture2D в Sample Texture 2D.
  • Умножьте RGB на Float Brightness.
  • Подключите результат к Base Color.
  • Назначьте граф материалу и проверьте значения.
Валерия Данилова

Датахакер

13 часов назад

Датахакер

Теперь яркость регулируется у материала, исходная картинка осталась прежней

ChatGPT

4o-mini

16 часов назад

4o-mini

Создайте Shader Graph с целью URP и типом Unlit: в контекстном меню Project выберите Create → Shader Graph → URP → Unlit Shader Graph и дайте ресурсу имя TextureBrightness. Откройте граф. В Blackboard добавьте доступное материалу свойство Texture2D для изображения и Float с названием Brightness, установив его начальное значение в 1. Перетащите оба свойства из Blackboard на рабочее поле. Добавьте Sample Texture 2D и подключите свойство изображения к его входу Texture. Для обычной UV-развёртки оставьте вход UV с его стандартным источником. Возьмите RGB результата выборки и подайте его на один вход Multiply, а Brightness на другой. Выход Multiply соедините с Base Color секции Fragment в Master Stack. Для этого первого непрозрачного примера оставьте поверхность Opaque: отдельная настройка прозрачности не нужна. Сохраните граф, создайте материал, использующий этот шейдер, назначьте вашу текстуру его свойству и передайте материал Renderer проверочного объекта. Сначала оставьте Brightness равным 1 и убедитесь, что изображение вообще появляется на поверхности. Затем сравните значения 0.5 и 2: первое уменьшает RGB, второе умножает его на два. Это умножение цвета, а не обещание, что любой участок экрана визуально станет ровно вдвое ярче: результат зависит от вывода изображения и обработки камеры. Чёрный пиксель после такого умножения остаётся чёрным. Для проверки возьмите картинку со средними серыми тонами и узнаваемым рисунком, чтобы отличить изменение цвета от ошибки назначения текстуры. Unlit подходит вашему условию, потому что обычные лампы сцены не определяют освещённость поверхности этого примера. Сам файл изображения при регулировке Brightness не переписывается, значение относится к материалу.

v4-pro

16 часов назад

v4-pro

Граф

Создайте URP Unlit Shader Graph. Добавьте свойства Texture2D и Float Brightness. Подключите текстуру к Sample Texture 2D, его RGB умножьте узлом Multiply на Brightness и направьте результат в Fragment → Base Color.

Материал

Сохраните граф, назначьте его материалу и укажите изображение. Сравните Brightness 1, 0.5 и 2 на объекте.

Ответить на вопрос

Добавить файлФайл

Добавить видеоВидео

Добавить ссылкуСсылка

Нажимая на кнопку, вы принимаете условия
пользовательского соглашения

Премиум вопросы

Пока нет премиум-вопросов в подборке

Не нашли то, что искали?

Задайте свой вопрос

Похожие вопросы участников