Instanser

../../_images/modeling_geometry-nodes_instances.png

De tre typerna av instanser.

Förutom att lagra verkliga data som ett mesh eller en kurva kan objekt lagra instanser, som i sin tur kan referera till mer geometri, ett objekt eller en samling. Syftet med instanser är att göra det möjligt att duplicera geometri och lagra den i ett objekt, utan att duplicera den faktiska datan. Denna optimering gör att renderingsmotorer som Cycles kan hantera samma geometridata på många olika platser bättre än när data dupliceras.

Varje instans håller reda på vilken geometri den motsvarar och hur instansen transformeras jämfört med källgeometrin. Instanser kan också lagra attributet id, som används för att korrigera rörelseoskärpa när instanser rör sig i en animation.

Instanser kan skapas med geometriska noder med hjälp av Instans på Points Node.

Varning

För närvarande kan instansiering från geometrinoder inte blandas med instansiering från Instansiering-panelen i egenskapsredigeraren.

Nästlad instansiering

Eftersom instanser kan lagra en geometri och en geometri kan innehålla instanser är nästlad instansiering möjlig. Med andra ord är det möjligt att instansiera en instans, eller till och med en samling instanser. Som standard kommer till exempel Instans på Points Node att skapa nästlade instanser genom att instansiera instanser på punkterna i den verkliga geometrin.

../../_images/modeling_geometry-nodes_instances-nested.png

En nodgrupp som skapar nästlade instanser genom att kedja Instanser på punkter-noder.

Här används nested instancing för att distribuera geometri som innehåller både ett mesh och instanser. Utdatageometrin innehåller ett ”riktigt” mesh och en grupp instanser. Varje instans innehåller ett sfäriskt mesh och många instanser av en kongeometri.

../../_images/modeling_geometry-nodes_instances-nested-tree.png

Trädet med instansierad geometri för exemplet ovan.

Det som gör den här metoden användbar är att utdatageometrin endast innehåller tre unika nät: planet, sfären och konen. Detta skulle göra prestandan mycket bättre om maskorna var mer komplicerade.

Varning

Endast åtta nivåer av nästlad instansiering stöds för rendering och visning i visningsfönstret. Även om djupare träd av instanser kan skapas inuti geometrinoder, måste de realiseras i slutet av nodträdet.

Förverkligande av instanser

Termen ”realisera” instanser syftar på att konvertera instanser till unik geometri. När instanser realiseras kommer de att ta upp mer minne och manipulering av geometrin måste behandlas individuellt i stället för en gång per instansgeometri.

För att realisera instanser använder du Realize Instanser Nod.

Behandling av instanser

Nästan alla noder som bearbetar geometri gör det genom att bearbeta varje unik geometri separat i stället för den realiserade geometrin. Om t.ex. en Underavdelning Ytnod placerades i slutet av exemplet ovan, skulle den bara behöva subdividera tre mesh, i stället för varje instans av ett mesh. Ett annat viktigt exempel är bearbetning av utdata från Sträng till kurvor Node, där varje unikt tecken bara behöver bearbetas en gång.

Den här metoden kan förbättra prestandan avsevärt, men den innebär att resultatet av en operation blir detsamma för varje instans av en viss geometri. För att få unika resultat för varje instans kan noden Realize Instanser Nod användas.