Shader Graph. Размножить текстуру вдоль

Для экспериментальных разработок и тем "я нашел чужой исходник, почему он не работает?"

Shader Graph. Размножить текстуру вдоль

Сообщение suckduck 27 авг 2020, 00:30

Всем привет! У меня 2д игра, делаю шейдер для луча лазера, сам шейдер просто двигает текстуру чтобы луч как бы двигался, у меня есть его текстура но проблема в том что текстура растягивается или сжимается в зависимости от расстояния, ниже на картинке примерно показано что происходит под пунктом 1, а надо чтобы как под пунктом 2. Как это сделать? Если надо могу показать шейдер граф Изображение
suckduck
UNец
 
Сообщения: 21
Зарегистрирован: 07 сен 2019, 19:56

Re: Shader Graph. Размножить текстуру вдоль

Сообщение waruiyume 27 авг 2020, 05:24

Умножить UV на позицию вершины.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Shader Graph. Размножить текстуру вдоль

Сообщение suckduck 27 авг 2020, 11:59

waruiyume писал(а):Умножить UV на позицию вершины.

Можно поподробнее?
suckduck
UNец
 
Сообщения: 21
Зарегистрирован: 07 сен 2019, 19:56

Re: Shader Graph. Размножить текстуру вдоль

Сообщение samana 29 авг 2020, 13:02

Я правильно понимаю, что вы хотите "размножать" текстуру в зависимости от мастштаба (scale) вашего объекта?
Тогда убедитесь, что в инспекторе самой текстуры выбран режим WrapMode - Repeat. А в шейдерГрафе нужно просто соединить scale объекта с uv
скриншот в спойлере
Скрытый текст:
ИзображениеИзображение
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Shader Graph. Размножить текстуру вдоль

Сообщение suckduck 30 авг 2020, 13:06

samana писал(а):Я правильно понимаю, что вы хотите "размножать" текстуру в зависимости от мастштаба (scale) вашего объекта?
Тогда убедитесь, что в инспекторе самой текстуры выбран режим WrapMode - Repeat. А в шейдерГрафе нужно просто соединить scale объекта с uv
скриншот в спойлере
Скрытый текст:
ИзображениеИзображение


Здравствуйте! Сделал как вы показали, но ничего не поменялось, repeat включен
Лазер сделан line renderer ом, я сделал шейдер, материал с этим щейдером и повесил его в материалы линии, когда линия лазера длиннее текстуры происходит как под пунктом 1 а нужно как под пунктом 2:
Изображение

Shader Graph сейчас:
Изображение
suckduck
UNец
 
Сообщения: 21
Зарегистрирован: 07 сен 2019, 19:56

Re: Shader Graph. Размножить текстуру вдоль

Сообщение samana 30 авг 2020, 20:55

suckduck писал(а):Лазер сделан line renderer ом

А, так это ведь другое дело совсем. С настройкой лайнРендера я мало знаком, но в его инспекторе есть настройки TextureMode и вам скорее всего нужно выбрать Repeat Per Segment или TIle. Но тогда вам нужно "строить" лайнРендер чётко по точками через определённое и равное расстояние, чтобы текстура не растягивалась.
Я не уверен, что всё будет работать правильно, это лишь предположения.
А у вас лазер планируется именно изогнутой линией, поэтому вы выбрали лайнРендерер?
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Shader Graph. Размножить текстуру вдоль

Сообщение suckduck 31 авг 2020, 13:20

samana писал(а):
suckduck писал(а):Лазер сделан line renderer ом

А, так это ведь другое дело совсем. С настройкой лайнРендера я мало знаком, но в его инспекторе есть настройки TextureMode и вам скорее всего нужно выбрать Repeat Per Segment или TIle. Но тогда вам нужно "строить" лайнРендер чётко по точками через определённое и равное расстояние, чтобы текстура не растягивалась.
Я не уверен, что всё будет работать правильно, это лишь предположения.
А у вас лазер планируется именно изогнутой линией, поэтому вы выбрали лайнРендерер?


Ну вообще это просто единственный способ, который я знаю поэтому лайнРендером делаю
suckduck
UNец
 
Сообщения: 21
Зарегистрирован: 07 сен 2019, 19:56


Вернуться в Шейдерная кузня

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2