Об’єми – Volumes¶
Рендеринг об’єму може використовуватися для зображування ефектів, таких як вогонь, дим, імла, поглинання у склі та багатьох інших, що не можуть бути представлені тільки самими сітями поверхонь.
Для укладання об’єму ви створюєте сіть, що визначає межі, всередині яких цей об’єм існує. У дереві матеріалу ви зазвичай вилучаєте вузли типу Surface – «Поверхня» та натомість під’єднуєте вузли типу Volume – «Об’єм» для визначення відтінення всередині цього об’єму. Для ефектів, таких як поглинання у склі, ви можете використовувати обидва, поверхнєвий та об’ємовий відтінювачі, шейдери. Світ може також використовувати об’ємовий відтінювач для створення ефектів, таких як імла.
Відтінення – Shading¶
Principled Volume – Першооснова Об’єму¶
Principled Volume is a physically-based volume shader that can be used to create a wide range of volume materials. It supports scattering, absorption and emission in one easy to use node. Fire can be rendered with blackbody emission.
Компоненти Об’єму – Volume Components¶
Для більшого керування компоненти відтінення об’єму можуть вручну комбінуватися у власний уклад шейдера.
- Volume Absorption will absorb part of the light as it passes through the volume. This can be used to shade for example black smoke or colored glass objects, or mixed with the volume scatter node. This node is similar to the transparent BSDF node, it blocks part of the light and lets other light pass straight through.
- Volume Scatter lets light scatter in other directions as it hits particles in the volume. The anisotropy defines in which direction the light is more likely to scatter. A value of 0 will let light scatter evenly in all directions (similar to the diffuse BSDF node), negative values let light scatter mostly backwards, and positive values let light scatter mostly forward. This can be used to shade white smoke or clouds for example.
- Emission will emit light from the volume, for example for fire.
Атрибути – Attributes¶
При рендерингу диму та вогню атрибути об’єму використовуються для визначення форми та відтінення об’єму. Шейдер Principled Volume буде використовувати їх стандартно, тоді як власні об’ємові відтінювачі можуть використовувати вузол Attribute – «Атрибут» для отримання таких атрибутів, як щільність, колір та температура.
Density – Щільність¶
Усі об’ємові відтінювачі мають увід щільності Density. Щільність визначає, наскільки світло буде взаємодіяти з об’ємом, поглинаючись або розсіюючись, та наскільки воно проходитиме прямо крізь об’єм. Для ефектів, таких як дим, ви маєте визначити поле Density для вказування, де в об’ємі є дим і скільки (щільність більша за 0) та де дим відсутній (щільність дорівнює 0).
Об’єми у реальному житті складаються з частинок, вища щільність означає місця, де є більше частинок на одиницю об’єму. Більше частинок означає, що є вищий шанс для світла зіткнутися з частинкою та поглинутися чи розсіятися, а не пройти прямо крізь об’єм.
Об’єми Сітей – Mesh Volumes¶
Сіті, використовувані для рендера об’єму, повинні бути закритими та розгортними – manifold. Це означає, що у сіті повинні бути відсутні отвори. Кожне ребро повинно бути з’єднане точно з двома гранями, так щоб не було жодних отворів та Т-подібних граней, де три або більше граней з’єднані з ребром.
Нормалі повинні вказувати назовні поверхні для коректних результатів. Ці нормалі використовуються для визначення того, чи промінь проходить чи виходить з об’єму і, якщо вони вказують у неправильному напрямку або у сіті є отвір, то рендерер буде не здатний вирішити, що є всередині, а що є назовні об’єму.
Ці правила такі ж, як для коректного рендерингу заломлення світла склом.
Об’єм Світу – World Volume¶
Об’ємовий відтінювач може застосовуватися для всього світу, заповнюючи простір повністю.
Currently, this is most useful for night time or other dark scenes, as the world surface shader or sun lights will have no effect if a volume shader is used. This is because the world background is assumed to be infinitely far away, which is accurate enough for the sun for example. However, for modeling effects such as fog or atmospheric scattering, it is not a good assumption that the volume fills the entire space, as most of the distance between the sun and the earth is empty space. For such effects it is be better to create a volume object surrounding the scene. The size of this object will determine how much light is scattered or absorbed.
Багато Розсіювання – Multiple Scattering¶
Real-world effects such as scattering in clouds or subsurface scattering require many scattering bounces. However, unbiased rendering of such effects can be noisy, so by default the number of bounces is zero in Cycles, and no support is available in Eevee. The effect you get when rendering with zero volume bounces is what is known as «single scattering», the effect from more bounces is «multiple scattering».
Для рендерингу матеріалів, як шкіра або молоко, що вимагають багато розсіювання, відтінювач підповерхневого розсіювання Subsurface Scattering є більш ефективним та легшим для керування. Зокрема, метод «випадкового ходу» – random walk може точно рендерити такі матеріали.
Для матеріалів, таких як хмари або дим, що не мають добре визначеної поверхні, вимагається рендеринг об’єму. Вони виглядають найкраще з багатьма відскоками розсіювання, але на практиці, можливо, доведеться лімітувати кількість цих відскоків для підтримання часу рендерингу у прийнятних межах.