Вузол «Математика» – Math Node¶
Вузол «Математика» – Math здійснює математичні операції.
Уводи – Inputs¶
- Значення – Value
- Перше числове значення. Тригонометричні функції приймають значення у радіанах.
- Значення – Value
- Друге числове значення. Це значення не використовується у функціях, що приймають тільки один параметр, на кшталт, тригонометричних функцій Округлення – Round та Абсолют – Absolute.
Властивості – Properties¶
- Операція – Operation
- Додання – Add, Відняття – Subtract, Множення – Multiply, Ділення – Divide, Синус – Sine, Косинус – Cosine, Тангенс – Tangent, Арксинус – Arcsine, Арккосинус – Arccosine, Арктангенс – Arctangent, Арктангенс2 – Arctangent2, Степінь – Power, Логарифм – Logarithm, Мінімум – Minimum, Максимум – Maximum, Округлення – Round, Менше Ніж – Less Than, Більше Ніж – Greater Than, Модуль – Modulo, Абсолют – Absolute
- Затиск – Clamp
- Лімітує вивід діапазоном (від 0 до 1). Дивіться clamp.
Виводи – Outputs¶
- Значення – Value
- Вивід числового значення.
Приклади – Examples¶
Ручна Z-Маска – Manual Z-Mask¶
Цей приклад має один увід зі сцени, поданий вузлом «Шари Рендера» – Render Layers, який має куб, що знаходиться близько 10 одиниць від камери. Нижній вузол «Шари Рендера» – Render Layers уводить сцену з площиною, що покриває ліву половину огляду та є на 7 одиниць від камери. Обидва подаються через відповідні їм вузли «Розкладка Значень» – Map Value, що ділять їх значення Z-буфера на 20 (або множать на 0.05, як показано у полі устави «Розмір» – Size), та затискають ці значення у діапазон мінімуму/максимуму 0.0/1.0 відповідно.
Для мінімуму функції цей вузол вибирає ті значення Z, де відповідний піксель є ближчим до камери; тому, він вибрав значення Z для площини та частини куба. Задньоплан має безкінечне значення Z, а тому він затискається значенням 1.0 (показується білим кольором). У прикладі з максимумом значення Z куба є більшим, ніж площини, а тому вони вибираються з лівого боку, але Z вузла Render Layers із площиною є безкінечним (розкладеним на 1.0) для правого боку, і тому вони обоє є обраними.
Використання функції синуса для отримання ефекту пульсації – Using Sine Function to Pulsate¶
Цей приклад має вузол «Час» – Time викладений у прямолінійну послідовність від 0 до 1 для діапазону 101 кадр. У кадрі 25 значення виводу є 0.25. Це значення множиться на 2 × pi (6.28) та конвертується в 1.0 функцією Sine, оскільки ми всі знаємо, що \(sin(2 × pi/ 4) = sin(pi/ 2) = +1.0\).
Оскільки функція синуса може викладати значення між (-1.0 до 1.0), то вузол «Розкладка Значень» – Map Value масштабує це у діапазон від 0.0 до 1.0, беручи увід (-1 до 1), додаючи 1 (робить 0 до 2) та множачи результат на половину (таким чином масштабуючи вивід між 0 до 1). Стандартний Градієнт Кольорів – Color Ramp конвертує ці значення у сіровідтінкове. Таким чином, середній сірий відповідає виводу 0.0 за синусом, чорний – значенню -1.0 та білий – значенню 1.0. Як ви можете бачити, \(sin(pi/ 2) = 1.0\). Ніби у вас є свій візуальний калькулятор колір! Анімування цього укладу вузлів забезпечує плавну циклічну послідовність через діапазон сірих відтінків.
Використовуйте цю функцію для варіювання, наприклад, альфа-каналу зображення для отримання ефекту появи/щезання. Змінюйте значення цього каналу Z для переміщування сцени у/поза фокус. Змінюйте значення колірного каналу для зроблення «пульсації» кольору.
Збільшення яскравості (Масштабування) Каналу – Brightening (Scaling) a Channel¶
Цей приклад має вузол «Математика (Множення)» – Math (Multiply), що збільшує значення каналу світності (Y) зображення для зроблення його яскравішим. Зауважте, що ви повинні використати вузол «Розкладка Значень» – Map Value node з увімкненими опціями «Вжити Мінімум» – Use Minimum min() та «Вжити Максимум» – Use Maximum max() для затиску виводу у дійсні значення. З цим підходом ви можете використати логарифмічну функцію для зроблення зображення з високим динамічним діапазоном. Для цього конкретного прикладу там є також вузол «Яскравість/Контраст» – Brighten/Contrast, що може давати простіший контроль за яскравістю.
Обмеження Вибору Кольору (Постеризація) – Restrict Color Selection (Posterization)¶
У цьому прикладі, ми обмежили значення кольору одним із шести значень: 0, 0.2, 0.4, 0.6, 0.8, 1.
Для розділення безперервного діапазону значень між 0 та 1 на певний набір значень використовується наступна функція: \(round(x × n - 0.5) / (n - 1)\), де «n» – це кількість можливих значень виводу, а «x» – це увідний колір пікселя. Дізнайтеся більше тут – Read more about this function.
Для втілення цієї функції у Blender’і, розглянемо уклад вузлів нижче. Ми зв’яжемо ці вузли математики у функцію, що бере кожен колір (значення від 0 до 1), множить його на шість, бажану кількість поділів (значення стають від 0 до 6), зсуває це на 0.5 (-0.5 до 5.5), округлює значення до найближчого цілого (продукує 0, 1, 2, 3, 4, 5), а потім ділить колір пікселя зображення на п’ять (0.0, 0.2, 0.4, 0.6, 0.8, 1.0).
У випадку кольорового зображення вам необхідно розокремити його на окремі канали RGB, використавши вузли Separate/Combine RGBA та здійснити цю операцію на кожному каналі незалежно.