From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Objem (Volume)

Experimentální funkce
Objemové renderování ja zetím rozpracováno. Viz omezení v dolní části této stránky.


Volume rendering can be used to render effects like fire, smoke, mist, absorption in glass, and many other effects that can't be represented by surface meshes alone.

To set up a volume, you create a mesh that defines the bounds within which the volume exists. In the material you typically remove the surface nodes and instead connect volume nodes to define the shading inside the volume. For effects such as absorption in glass you can use both a surface and volume shader. The world can also use a volume shader to create effects such as mist.

Volume Shaders

We support three volume shader nodes, that model particular effects as light passes through the volume and interacts with it.

  • 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 somewhat 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 (somewhat 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. This can be used to shade fire for example.
Volume Shader: Absorption / Absorption + Scatter / Emission

Density

All volume shaders have a density input. The density defines how much of the light will interact with the volume, getting absorbed or scattered, and how much will pass straight through. For effects such as smoke you would specify a density field to indicate where in the volume there is smoke and how much (density bigger than 0), and where there is no smoke (density equals 0).

Volumes in real life consist of particles, a higher density means there are more particles per unit volume. More particles means there is a higher chance for light to collide with a particle and get absorbed or scattered, rather than passing straight through.

Volume Material

Interaction with the Surface Shader

A material may have both a surface and a volume shader, or only one of either. Using both may be useful for materials such as glass, water or ice, where you want some of the light to be absorbed as it passes through the surface, combined with e.g. a glass or glossy shader at the surface.

When the surface shader does not reflect or absorb light, it enters into the volume. If no volume shader is specified, it will pass straight through to the other side of the mesh. If it is defined, a volume shader describes the light interaction as it passes through the volume of the mesh. Light may be scattered, absorbed, or emitted at any point in the volume.

Mesh Topology

Meshes used for volume render should be closed and manifold. That means that there should be no holes in the mesh. Each edge must be connected to exactly 2 faces such that there are no holes or T-shaped faces where 3 or more faces are connected to an edge.

Normals must point outside for correct results. The normals are used to determine if a ray enters or exits a volume, and if they point in a wrong direction, or there is a hole in the mesh, then the renderer is unable to decide what is the inside or outside of the volume.

These rules are the same as for rendering glass refraction correctly.

Volume World

A volume shader can also be applied to the entirely world, filling the entire space.

Currently this is most useful for night time or other dark scenes, as the world surface shader or sun lamps 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 modelling 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.

Scattering Bounces

Real world effects such as scattering in clouds or subsurface scattering require many scattering bounces. However unbiased rendering of such effects is slow and noisy. In typical movie production scenes only 0 or 1 bounces might be used to keep render times under control. The effect you get when rendering with 0 volume bounces is what is known as "single scattering", the effect from more bounces is "multiple scattering".

For rendering materials like skin or milk, the subsurface scattering shader is an approximation of such multiple scattering effects that is significantly more efficient but not as accurate.

For materials such as clouds or smoke that do not have a well defined surface, volume rendering is required. These look best with many scattering bounces, but in practice one might have to limit the number of bounces to keep render times acceptable.

Omezení

V současné době není podporováno:

  • Renderování kouře, ohně
  • Kamera uvnitř objemu síťoviny
  • GPU rendering objemů
  • Správná viditelnost paprsků pro objemy


Volume rendering lze použít k tomu, aby účinky, jako je oheň , kouř , mlha , absorpce ve skle , a mnoho dalších vlivů , které nemohou být zastoupeny povrchu oka sám .

Chcete-li nastavit hlasitost , vytvořit síť , která definuje meze, ve kterých se objem existuje. V materiálu, který se obvykle odstranit povrchové uzliny a místo toho připojit hlasitosti uzly definovat stínování uvnitř svazku. Pro účinků, jako je absorpce ve skle můžete využít i plochu a objem shader . Svět může také použít objemu shader pro vytvoření efektů , jako je mlha .

Hlasitosti Shadery

Podporujeme tři objem shader uzly , tento model konkrétní účinky, jako světlo prochází objemu a komunikuje s ním .

  • Volume Absorpce absorbuje část světla při průchodu svazku. Toto může být použito k odstínu například černého kouře nebo barevných skleněných předmětů , nebo ve směsi s uzlem objemu rozptylu . Tento uzel je poněkud podobný transparentní BSDF uzlu , blokuje část světla a umožňuje další světlo projít přímo skrz .
  • Objem Scatter umožňuje rozptyl světla v jiných směrech , jak to dopadne částice v objemu . Anizotropie definuje , ve kterém směru je větší pravděpodobnost, že rozptylsvětla . Hodnota 0 nechám rozptyl světla rovnoměrně ve všech směrech ( poněkud podobný difúzní BSDF uzlu ) , záporné hodnoty ať rozptyl světla většinou dozadu , a kladné hodnoty nechat rozptyl světla většinou dopředu . Toto může být použito k odstínu bílého kouře nebo mraků například .
  • Emise bude vyzařovat světlo z objemu . Toto může být použito k odstínu ohně například .

[ [ Soubor : cycles_manual_materials_volume.png | frame | center | Objem Shader : Absorpce / Absorpční + Scatter / Emise ] ]

Hustota === ===

Všechny objemu shadery mají vstup hustoty . Hustota určuje , kolik světla bude komunikovat s objemem , jak se vstřebává a rozptýlené , a kolik bude procházet přímo skrz . Pro účinků, jako je kouř byste zadat pole hustoty uvést , kde v objemu je kouř a kolik ( hustota větší než 0 ) , a tam, kde není žádný dým ( hustota se rovná 0 ) .

Objemy v reálném životě se skládají z částic ,vyšší hustota znamená, že existuje více částic na jednotku objemu . Více částic znamená, že jevětší šance na světlo se srazí s částicí a absorbována nebo rozptýlené , spíše než kolem rovně .

Objem Materiál

Interakcí s povrchem Shader

Materiál může mít i povrch a objem shader , nebo pouze jeden ze vstupů . Použití jak mohou být užitečné pro materiály , jako je sklo , voda nebo led , kde chcete , část světla se absorbuje , když prochází přes povrch , v kombinaci s např. sklo nebo lesklý shader na povrchu .

Pokud je povrch shader neodráží nebo absorpci světla , vstoupí do svazku. Pokud není zadán žádný svazek shader , bude to projít přímo skrz na druhé straně sítě. Pokud je definován ,svazek shader popisuje interakce světla při průchodu objemu oka . Světlo může být rozptýlené , vstřebává , nebo emitovány na libovolném místě v objemu .

Mesh topologie

Oka používá pro objem činí by měly být uzavřeny a potrubí . To znamená, že by měl být v síťky žádné díry . Každá hrana musí být připojen k přesně 2 tváří tak, že zde nejsou žádné otvory nebo T - tvaru plochy , kde se 3 nebo více plochy připojené k okraji .

Normál musí směřovat ven správné výsledky . Normály se používají k určení , zdapaprsek vstoupí nebo opustí objem , a pokud se ukazovat ve špatném směru , nebo tam jedíra v síťovinou , pakrenderer je schopen rozhodnout, co jeuvnitř nebo vně objemu .

Tato pravidla jsou stejná jako pro správné vykreslování skla refrakce .

Objem World

Objem shader může být také aplikován na Zcela světa vyplnění celého prostoru .

V současné době je to velmi užitečná pro noční dobu , nebo jiných tmavých scénách , jak svět povrchu shader nebo sluneční lampy nebude mít žádný vliv, pokud je použitobjem shader . To je proto, že svět pozadí se předpokládá , že je nekonečně daleko , což je dostatečně přesné pro slunce například . Nicméně pro modelování účinky, jako je mlha nebo atmosférického rozptylu , to nenídobrý předpoklad, žeobjem vyplňuje celý prostor , protože většina vzdálenost mezi Sluncem a Zemí , je prázdný prostor . Pro takové účinky , je lepší vytvořit objekt hlasitosti obklopující scénu . Velikost objektu určí, kolik světla je rozptýleno nebo absorbován .

Rozptyl skáče

Real World účinky, jako je rozptyl v oblacích nebo podpovrchového rozptylu vyžadovat mnoho rozptylu hopsá . Nicméně objektivní vykreslení těchto efektů je pomalý a hlučný . V typických výrobních film scén může být pouze 0 nebo 1 skáče používá k udržení činí časy pod kontrolou . Efekt vám při vykreslování s 0 Objem odrazí se to, co je známé jako " jediný rozptyl " ,efekt z více odrazů je " více rozptyl " .

Pro vykreslování materiálů, jako je kůže nebo mléka ,podpovrchový rozptyl shader jesblížení těchto různých rozptylových efektů, které je podstatně efektivnější , ale není tak přesná .

U materiálů, jako jsou mraky nebo kouř , které nemají dobře definovanou plochu , je nutné objem vykreslování . Ty vypadají nejlépe s mnoha rozptylu hopsá , ale v praxi , kdo možná bude muset omezit počet odrazů , aby přijatelné činí krát .