Маска черной дыры
Когда вы отрендерите сцену, облака будут черными, а промежутки между ними прозрачными (рис. 25.3).
Проблема заключается в том, что канал прозрачности сферы облаков воспринимает в качестве прозрачного белый цвет облаков вместо черного промежутка между ними. Поэтому только черные части текстуры облаков становятся видимыми. Если мы инвертируем цвета фрактала, мы получим ту же проблему с другой стороны: прозрачные в настоящее время части станут черными и непрозрачными.
Нам требуется инвертировать только значения цвета фрактала, которые входят в канал прозрачности материала (а не те, которые входят в канал цвета).
Рис. 25.3. Сквозь слой облаков видны части планеты. Но почему же облака черные?
- Разорвите связь информации о прозрачности между фрактальной текстурой и материалом Lambert. Для этого вам нужно выделить ее и удалить.
- Не выходя из окна Hypershader, откройте секцию Create Utility (Создать Утилиту) и с помощью правой кнопки мышки перетащите Reverse Utility (Утилита обращения) на рабочую область.
- Соедините атрибут фрактала outColor (рис. 25.4) со входным каналом (input) Reverse Utility (Утилита обращения) (рис. 25.5).
Рис. 25.4. Для того чтобы облака были прозрачными там, где это нам нужно, значения цвета информации о прозрачности следует изменить на противоположные. Выход канала цвета фрактала…
Рис. 25.5. …соединяется со входным каналом Reverse Utility (Утилита обращения). Reverse Utility (Утилита обращения) инвертирует значения цвета… - Соедините выход (output) утилиты со входом канала прозрачности материала Lambert (рис. 25.6).
Рис. 25.6. …и передает их каналу прозрачности материала облаков