Воскресенье, 28 Апреля 2024, 02:39

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Шейдер, видимый лишь на фоне определенного объекта. (Возможно ли?)
Шейдер, видимый лишь на фоне определенного объекта.
GrimerdieДата: Понедельник, 20 Октября 2014, 00:06 | Сообщение # 1
был не раз
Сейчас нет на сайте
Собсна возникла необходимость чего-то подобного, т.е. когда объект был видим только лишь если находится на фоне какого либо другого объекта, возможно ли?
SEvgДата: Понедельник, 20 Октября 2014, 09:03 | Сообщение # 2
Алхимик
Сейчас нет на сайте
Шейдеры тут не помощники, они не в курсе какие объекты вокруг расположены...
OtinagiДата: Понедельник, 20 Октября 2014, 10:23 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Можно, но сложно и, судя по всему, нужна pro версия. Я когда-то давно делал так, в несколько проходов через FBO + GLSL, как пост-эффект (правда, не на Юнити, но, думаю, на Юнити тоже можно): рендерил только фоновый объект, превращал в маску. Рендерил основной объект. Отсекал все, что не входит в маску. И под конец рендерил всю сцену и накладывал на неё отсеченное изображение.

«Смерти меньше всего боятся те люди, чья жизнь имеет наибольшую ценность.»
Иммануил Кант
SEvgДата: Понедельник, 20 Октября 2014, 19:13 | Сообщение # 4
Алхимик
Сейчас нет на сайте
Otinagi, так и выходит что шейдеры в этом деле не главные, а главное правильно решить, что и как рисовать... А ТС явно хотел, чтобы прицепил шейдер к объекту и всё заработало )
DalyДата: Четверг, 23 Октября 2014, 15:30 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Grimerdie, Юзай маски, и пиши собственный скрипт отображения. Шейдером такое не сделаешь, даже если сильно захочешь no profit.
MANMANAДата: Четверг, 23 Октября 2014, 16:28 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
Сдается мне, можно шейдерами.
На форуме поднимался вопрос про обводку через outline/toon shader.
Может, кто помнит такой скриншот?

Вот из этого шейдера Silhouette-Outlined Diffuse
На нем видно, что можно прорисовывать то, что рендерится как скин меша за другими мешами.
Полагаю, колдун по шейдерам может это сделать.


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
DalyДата: Четверг, 23 Октября 2014, 16:32 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
MANMANA, Если в таком плане, то можно в Asset Story есть такие шейдеры.
MANMANAДата: Четверг, 23 Октября 2014, 17:01 | Сообщение # 8
почти ветеран
Сейчас нет на сайте
Вопрос то изначальный был собссно:
Цитата Grimerdie ()
Собсна возникла необходимость чего-то подобного, т.е. когда объект был видим только лишь если находится на фоне какого либо другого объекта, возможно ли?


из бесплатных я там не нашел если чессно, это пусть Grimerdie, тогда уж ищет. возможно, в платных есть yes ?

а в представленном выше шейдере, как говорят математики, пойдем от обратного...

P.S. Правда, можно так и остановиться на фразе: "Допустим, что сундук открыт..."

P.P.S. вот в этом шейдере вода в лодке не показывается. т.е. дно лодки рендерится поверх воды, ага? Таким образом приходим к шейдеру вида Subtractive Rendering (что-то наподобие этого), ага? smile

Но если шейдер не принципиален, то я бы сделал двумя камерами: на основоной камере скрываем наш объект 2, который мы хотим видеть поверх другого мирового объекта 1, а отображаем мировые объекты. на камере 2 виден только наш объект 2. (двумя слоями обойдемся, полагаю). Камера 2, как вариант, является дочкой объекта 1, на котором хотим видеть наш объект 2. Размеры видимой области задаем равной границам объекта 1.
Если таких объектов 1 и 2 несколько, то на выбор: несколько камер, либо перетаскиваем каждый раз камеру 2 к или в дочки объекта 1 по мере приближения объекта 2 к мировому объекту 1.
такой способ подходит для 2D.
в 3D существуют некие пассы по вычислению направления, в которую смотрит камера 1 и вычисление необходимой видимой области камеры 2 (чтобы данноая область соответствовала границам мирового объекта 1).
И не забыть про повороты камеры вокруг трех осей. да...


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
DalyДата: Четверг, 23 Октября 2014, 17:03 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
MANMANA, Ты автору темы мозг сломаешь wink
MANMANAДата: Четверг, 23 Октября 2014, 17:05 | Сообщение # 10
почти ветеран
Сейчас нет на сайте
мне самому уже интересно стало.
столько идей уже витает и записано (не только по данному вопросу), а для их проверки и реализации тупо не хватает времени. sad


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Шейдер, видимый лишь на фоне определенного объекта. (Возможно ли?)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг