self.output.Distance = distance
Чтобы использовать этот Pynode, нужно иметь в виду некоторые моменты. Сначала, убедитесь, что рассчитанный цвет влияет только на цвет specular материала мыльного пузыря, в противном случае всё покажется вымытым.
Кроме того, важно добавлять некоторое изменение к толщине слоя, так как никакой реальный мыльный пузырь не имеет точной однородной толщины. Выбор текстуры шума может привести к очень различному виду. В следующем примере нодовой сети мы добавили на вход немного шумовой текстуры wood, чтобы получать вихревые полосы, часто обнаруживаемые на мыльных плёнках.
Наконец, сделайте материал мыльной плёнки очень прозрачным, но с высокой отражательной способностью (specular). Экспериментируйте с величинами, чтобы добиваться точного эффекта, и примите во внимание настройку освещения. Пример, показанный на иллюстрации – пробный, чтобы получить некий результат в черно-белом представлении, и, следовательно, не реалистичен, но сеть в файле примера iridescence.blend настроена производить красочный приятный результат при рендере.
Использование color ramp и текстуры шума показано на предыдущем скриншоте, куда мы добавили несколько нодов деления, чтобы масштабировать наше расстояние в дипазон в пределах [0,1], который можно использовать как вход для color ramp:
Итог
В этой главе мы увидели, что отсутствие компилируемого шейдерного языка в Блендере не препятствует использованию в нём cпроектированных заказных узоров и шейдеров. Pynodes - встроенная часть нодовой системы Блендера, и мы увидели как использовать их для создания эффектов, от простых цветных узоров до довольно сложных анимированных волн. В частности, мы узнали:
• Как писать Pynodes, которые создают простые цветные узоры
• Как писать Pynodes, которые производят узоры с нормалями
• Как писать анимированные Pynodes
• Как писать материалы, зависимые от высоты и наклона
• Как создавать шейдеры, которые реагируют на угол падающего света
В следующей главе мы посмотрим на автоматизацию процесса рендера в целом.
8
Рендеринг (визуализация) и обработка изображений
В предшествующих главах мы рассматривали в основном аспекты скриптования индивидуальных компонентов, составляющих сцену Блендера, такие как, например, меши, лампы, материалы, и так далее. В этой главе мы взглянем на процесс визуализации в целом. Мы будем автоматизировать процесс рендера, объединять различными способами результирующие изображения, и даже превратим Блендер в специализированный веб-сервер.
В этой главе Вы узнаете как:
• Автоматизировать процесс рендера
• Создавать множество видов для презентации продукта
• Создавать билборды из сложных объектов
• Манипулировать изображениями, в том числе результатами рендера, используя библиотеку обработки изображений Python Imaging Library (PIL)
• Построить сервер, который создает изображения по-требованию, которые могут быть использованы как вопросы в CAPTCHA
Различные виды - комбинирование множества направлений камеры
Теперь Вы можете ожидать, что визуализация также может быть автоматизирована, и Вы совершенно правы. API Питона Блендера обеспечивает доступ почти ко всем параметрам процесса рендера, и позволяет Вам рендерить индивидуальные кадры так же, как анимацию. Это позволяет автоматизировать многие задачи, которые было бы скучно делать руками.
Предположим, что Вы создали объект, и хотите создать единственное изображение, которое показывает его с различных углов. Вы могли бы отрендерить их отдельно и объединить во внешнем приложении, но мы напишем скрипт, который не только рендерит эти виды, но также объединяет их в единственном изображении, используя возможности манипуляции изображениями Блендера и внешний модуль, называемый PIL. Эффект, которого мы пытаемся достигнуть, изображен на иллюстрации Сюзанны, показывающей её со всех наилучших сторон.