Автор Тема: Частично прозрачный материал  (Прочитано 13861 раз)

Оффлайн E.Wolf

  • Житель
Частично прозрачный материал
« : 12 Июль 2014, 09:44:31 »
Доброго времени суток уважаемые! Недавно стал изучать Blender и столкнулся с вопросом на который не смог найти ответа нигде.

Собственно, вопрос: как задать материалу частичную прозрачность?

Например, у нас есть брусок (стандартный куб -> S -> X -> 5), левая часть бруска - полностью прозрачная, правая часть бруска (предположим) зеленая. Брусок плавно переходит из прозрачного состояния (левая сторона) в сплошной зеленый цвет (правая сторона).

Так же хотелось бы узнать про реализацию более сложной вариации данного вопроса. Для примера возьмём тот же брусок, на который сверху падает свет от светильника типа Spot. В том месте, где свет пересекается с объектом (бруском) - он становится прозрачным. Или наоборот, в том месте, где падает свет брусок приобретает сплошной зеленый цвет, остальные части объекта, которые не пересекаются с лучом света - полностью прозрачные (или просто отсутствуют).

Насколько я понимаю, данный вопрос подразумевает несколько развернутый ответ, по этому я не прошу расписывать все детали. Хотелось бы уточнить общий алгоритм действий, что для этих целей нужно/можно использовать, какие инструменты? В какую сторону "копать", возможно есть какой-то видео или текстовый материал на данную тему на русском или английском языке?

Благодарю за внимание.

P.S. Интересует как стандартный рендер Blender'a, так и Cycles.

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Частично прозрачный материал
« Ответ #1 : 12 Июль 2014, 10:56:18 »
... а прозрачный с учетом преломления или нет? стекло оно тоже прозрачное и воздух прозрачный, но луч пойдет по разному ...
Для Кота

Оффлайн E.Wolf

  • Житель
Re: Частично прозрачный материал
« Ответ #2 : 12 Июль 2014, 11:01:30 »
С полупрозрачным бруском с одной стороны, плавно переходящим в сплошной цвет - я разобрался. На помощь пришел параметр Z-transparency -> Alpha с плавающим значением. Но, к сожалению, это всего лишь 10% от общей задачи.

Кубик, не смотря на свою прозрачность - продолжает отбрасывать тень... Это не совсем, то, чего я хотел добиться (хотя это уже что-то). Использовал стандартный рендер, в Cycles подобных настроек (прозрачности объектов) не нашел. Результаты во вложении.

[вложение удалено Администратором]

Оффлайн E.Wolf

  • Житель
Re: Частично прозрачный материал
« Ответ #3 : 12 Июль 2014, 11:05:19 »
... а прозрачный с учетом преломления или нет? стекло оно тоже прозрачное и воздух прозрачный, но луч пойдет по разному ...

Хотелось бы максимально раскрыть эту тему. То есть, получить различные виды материалов, с учётом преломления лучей и без них, а так же добиться такого эффекта, когда например брусок светится (излучает свет, например желтый), по мере градиентного перехода - происходит затухание, то есть, там где объект полностью прозрачный - он не светится, а там где он полностью сплошной - максимальное свечение. Аналогичного результата хотелось бы получить от теней, ведь тень от прозрачного объекта выглядит как-то не очень правдоподобно, согласитесь?
« Последнее редактирование: 12 Июль 2014, 11:09:43 от E.Wolf »

Оффлайн E.Wolf

  • Житель
Re: Частично прозрачный материал
« Ответ #4 : 13 Июль 2014, 05:45:58 »
Судя по полному отсутствию активности, я начинаю подозревать, что такое действо вообще не возможно... Или я не прав, и вопрос обусловлен исключительно отсутствием необходимых знаний и навыков?

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Частично прозрачный материал
« Ответ #5 : 13 Июль 2014, 07:37:31 »
... с тенями действительно проблем особых не должно быть (это решаемо), но вот меня какой момент смутил - если менять прозрачность материала, то через полностью прозрачную часть видно, что объект "голимая" полая оболочка ...
... а как он должен выглядеть? физически это что за материал? ...
Для Кота

Оффлайн E.Wolf

  • Житель
Re: Частично прозрачный материал
« Ответ #6 : 13 Июль 2014, 10:48:08 »
... а как он должен выглядеть? физически это что за материал? ...

Честно говоря, над этим я ещё не думал... Наверное, оптимальным вариантом будет: полностью прозрачное стекло с нулевым преломлением?

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Частично прозрачный материал
« Ответ #7 : 13 Июль 2014, 11:02:04 »
>> полностью прозрачное стекло с нулевым преломлением?
... условно говоря это IOR = 1 (не ноль), то есть лучи проходят без преломления ...
... но всё равно проблема остается - будет выглядеть как полая коробка прозрачная с одной и непрозрачная с другой стороны ...
... поясни для каких целей это нужно? может ли моделью этого эффекта послужить туман (дым) с изменяемой плотностью? ...
Для Кота

Оффлайн E.Wolf

  • Житель
Re: Частично прозрачный материал
« Ответ #8 : 13 Июль 2014, 12:50:17 »
>> полностью прозрачное стекло с нулевым преломлением?
... условно говоря это IOR = 1 (не ноль), то есть лучи проходят без преломления ...
... но всё равно проблема остается - будет выглядеть как полая коробка прозрачная с одной и непрозрачная с другой стороны ...
... поясни для каких целей это нужно? может ли моделью этого эффекта послужить туман (дым) с изменяемой плотностью? ...

Я с блендером работаю совсем немного, по этому, для какой конечной цели подобные эффекты можно применять - я ещё не придумал. Просто хотелось понять принципы композитной прозрачности материалов в Blender'e (особенно в Cycles, т.к. со стандартным рендером относительно разобрался).

На счёт дыма-тумана - если есть возможность показать демонстрационную картинку - буду очень признателен. С системой частиц я ещё плотно не разбирался, по этому затрудняюсь себе это представить...

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Частично прозрачный материал
« Ответ #9 : 14 Июль 2014, 11:15:56 »
>> левая часть бруска - полностью прозрачная, правая часть бруска (предположим) зеленая. Брусок плавно переходит из прозрачного состояния (левая сторона) в сплошной зеленый цвет (правая сторона).

... во вложении пример как микшировать шейдеры в Cycles ...

out 39

[вложение удалено Администратором]
Для Кота

Оффлайн Милый Ад

  • Житель
  • Ад на реставрации.
Re: Частично прозрачный материал
« Ответ #10 : 14 Июль 2014, 14:02:32 »
sungreen спасибо за пример!
что нужно прикрутить, что бы развернуть отображение материала?
в данном случае это слева на право, а сделать снизу в верх.
« Последнее редактирование: 14 Июль 2014, 22:46:37 от milyad »
фсё тлен.

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Частично прозрачный материал
« Ответ #11 : 14 Июль 2014, 17:55:03 »
>> в данном случае это слева на право, а сделать снизу в верх.
... это весьма частный случай ...
... в данном примере в качестве фактора берется координата положения точки по оси Y ...
... фактор микширования для шейдеров должен меняться от 0 до 1 ...
... но  координата по Y для объекта меняется от -1 до 1 , поэтому для преобразования используются два нода Math - Add и Multipy, так чтобы на выходе получилось factor = (Y+1)/2 ...
... координату Y обычно получаю через узел Separate RGB, который раскладывает цвет (массив из 3 элементов) на составляющие R, G, B (ну а если на входе вместо Image указан Vector, то получаем X, Y, Z) ...

... поэтому отвечая на вопрос - для того чтобы "сделать снизу в верх", нужно с ноды Separate RGB брать выход сокета B, что будет соответствовать координате Z ...
Для Кота

Оффлайн Милый Ад

  • Житель
  • Ад на реставрации.
Re: Частично прозрачный материал
« Ответ #12 : 14 Июль 2014, 22:45:51 »
sungreen спасибо! очень доходчиво... и прикручивать ничего не надо - работает!  :)
фсё тлен.

Оффлайн E.Wolf

  • Житель
Re: Частично прозрачный материал
« Ответ #13 : 14 Июль 2014, 23:12:58 »
sungreen, спасибо, разбираюсь с полученной информацией!

Оффлайн LanuHum

  • Житель
Re: Частично прозрачный материал
« Ответ #14 : 03 Октябрь 2015, 00:13:50 »
>> в данном случае это слева на право, а сделать снизу в верх.
... это весьма частный случай ...
... в данном примере в качестве фактора берется координата положения точки по оси Y ...
... фактор микширования для шейдеров должен меняться от 0 до 1 ...
... но  координата по Y для объекта меняется от -1 до 1 , поэтому для преобразования используются два нода Math - Add и Multipy, так чтобы на выходе получилось factor = (Y+1)/2 ...
... координату Y обычно получаю через узел Separate RGB, который раскладывает цвет (массив из 3 элементов) на составляющие R, G, B (ну а если на входе вместо Image указан Vector, то получаем X, Y, Z) ...
... поэтому отвечая на вопрос - для того чтобы "сделать снизу в верх", нужно с ноды Separate RGB брать выход сокета B, что будет соответствовать координате Z ...

Давно печаталось тут, вижу, напоминать не нужно.
Но...
Слегка программирую, и, хотелось бы прояснить для себя объяснения.
Что есть фактор, вообще, в понимании программиста? Вот открыл я редактор нодов... как интуитивным способом придти к тому, что
Цитировать
в данном примере в качестве фактора берется координата положения точки по оси Y
И. почему координата меняется от -1 до 1, а ни от -100 до 1000? И, почему тогда нужно два нода, add и multiply? Почему не три: dark, light и substrat?
И, зачем раскладывать массив на RGB, если нужно всего лишь перейти от прозрачного к непрозрачному?
Вот как должна работать логика у простого смертного юзера, чтобы понять, что переход без раскладывания на RGB невозможен?
Мутно всё, как-то очень мутно. Я не понимаю. :(
« Последнее редактирование: 03 Октябрь 2015, 00:18:26 от LanuHum »