La oss først ta en titt på den forbedrede polygonreduksjonen. Til sammenligningstesten av den nye polygonreduksjonsgeneratoren fra versjon 19 med den gamle polygonreduksjonsdeformeren fra versjon 18 brukte jeg en høyoppløselig 3D-skanning av en sjokoladestøpemodell fra Hans Brunner GmbH med nøyaktig 844302 polygoner eller 422153 punkter.
For å i det hele tatt kunne gjenkjenne noen punkter i visningsmodusen for konstant skyggelegging (linjer), er det nødvendig å zoome inn ganske nær 3D-modellen.
Polygonreduksjon med den nye generatoren for polygonreduksjon
Hvis du leter etter polygonreduksjon i deformeringsmenyen, vil du ikke finne noe i Cinema 4D Release 19. Den gamle deformeren for polygonreduksjon finnes ikke lenger, men støttes fortsatt når du åpner eldre filer.
Den nye polygonreduksjonen er implementert som en generator, og du finner den i Create>Modelling-menyen.
For å sammenligne kvaliteten på reduksjonen av de to polygonreduksjonene har jeg redusert den oransje bjørnemodellen med den gamle polygonreduksjonsdeformeren og den gule bjørnemodellen med den nye polygonreduksjonsgeneratoren med 95 % av polygonene den inneholder.
Hovedelementet i begge polygonreduksjonsgeneratorene er glidebryteren som reduksjonsstyrken kan stilles inn med. Den nye generatoren viser også umiddelbart det resulterende antallet trekanter, punkter og kanter.
For spesielt formede 3D-objekter med kanter kan 3D-konturen og også en eksisterende UV-utfolding beholdes ved å justere de tilstøtende polygonene.
Hvis vi ser på resultatet av de to polygonreduksjonene i Gouraud-skyggeleggingsmodus, kan vi allerede se de første forskjellene. Nettverket til den gule bjørnemodellen virker mykere og av høyere kvalitet, mens den oransje bjørnemodellen allerede viser tydelige problemer i de kritiske områdene.
Forskjellene blir spesielt tydelige når vi ser på polygonnettet til de to bjørnemodellene.
Mens nettet til den oransje bjørnen ser veldig inhomogent og kaotisk ut, ...
... viser nettet til den gule bjørnen mye jevnere polygonstørrelser og en svært homogen fordeling av polygonene.
Variabelt detaljnivå (LOD) med polygonreduksjon
En mulig bruk av den nye polygonreduksjonen er for eksempel å generere varianter av bjørnemodellen med ulik oppløsning, og vise eller skjule dem avhengig av avstanden til kameraet. På denne måten kan ytelsen til for eksempel 3D-spill økes betydelig.
Cinema 4D Release 19 har det såkalte LOD-objektet (level-of-detail-objekt) i Visualise- og Studio-versjonene, slik at denne inn- og uttoningen av objektversjonene skjer automatisk.
Jeg opprettet de fire bjørnemodellene i eksemplet vårt ved hjelp av polygonreduksjonsgeneratoren med forskjellige reduksjoner og konverterte dem til slutt til det resulterende objektet ved hjelp av kommandoen Mesh>Convert>Convert State to Object. Konverter tilstand til objekt for å opprette det resulterende polygonobjektet.
Reduksjonene varierer fra 80 % for nærbilder til 99,9 % hvis kameraet er svært langt unna bjørnemodellen. For å sikre at alle bjørnemodellversjonene har samme posisjon, settes x-koordinaten til 0 for alle fire bjørnene.
For å kunne bruke de fire bjørnemodellversjonene for det variable detaljnivået, må de underordnes LOD-objektet. Dette gjøres i ett enkelt trinn ved å velge de fire objektene og hente frem LOD-objektetvia paletten for modelleringsobjektermens du holder nede Alt- og Command-tastene.
I innstillingsdialogen for LOD-objekteti Attribute Managerfinner vi de fire bjørnemodellene som er opprettet som LOD-nivåer på objektsiden. Visningsalternativene kan defineres separat for hvert av de fire nivåene. LOD-modusen for underobjekter er allerede riktig, ettersom de inneholdte underobjektene skal brukes til variabel LOD.
Det eneste som mangler, er kriteriet som LOD-objektetskal bruke for å bestemme hvilket LOD-nivå som skal brukes til å vise objektet. Ettersom bjørnemodellen skal orienteres etter avstanden til kameraet, er det nødvendig å angi Kameraavstand som et kriterium.
Når du har valgt kriteriet, viser innstillingsdialogen for LOD-objektetfire fargede områder i LOD-linjen, ett område for hver bjørnemodell. For øyeblikket har disse fire avstandsområdene samme størrelse og er fordelt over den minimale og maksimale kameraavstanden som er angitt en linje ovenfor.
LOD-objektetsfunksjon kan også testes i 3D-visningen. Hvis kameraavstanden er i området på det øverste nivået, vises bjørnen i sin beste kvalitet, ...
... så snart kameraavstanden øker, bytter LOD-objektettil neste nivå når neste avstandsområde er nådd. Kameraets gjeldende verdiområde kan sees på det lille kamerasymbolet under LOD-linjen.
Ved å teste koblingspunktene i 3D-visningen kan du raskt se om overgangen til neste nivå skjer for tidlig eller for sent. I så fall skal bjørnen fortsatt være synlig i det høyere oppløste LOD-nivået.
For å justere et byttepunkt tar du ganske enkelt tak i linjen mellom avstandsområdene og trekker området opp til bak ønsket kameraposisjon.
Som regel vil den laveste LOD-versjonen bare brukes når objektet er tydelig i bakgrunnen av scenen.
Variabelt detaljnivå (LOD) med automatisk forenkling
LOD-objektettilbyr også et eget alternativ for å redusere eller forenkle objekter. I dette tilfellet er det ikke nødvendig med forskjellige objekter som LOD-nivåer. Det er tilstrekkelig med et enkelt, underordnet objekt og innstillingen Forenkling som LOD-modus i innstillingsdialogen.
I de respektive visningsalternativene for LOD-nivåene tilbyr LOD-objektetderetter en desimering som ligner på polygonreduksjon, et konvekst skrog, visning av bounding box cuboid eller til og med et nullobjekti tillegg til den opprinnelige, høyoppløselige versjonen (fullstendige objekter).
Ikke alle objekter egner seg for desimering; ofte fjernes hele deler av objektet.
Det konvekse skroget fungerer bra, men det er mer sannsynlig at det brukes med stor kameraavstand.
Dette er ikke tilfellet med bounding box, som refererer til 3D-objektets fullstendige dimensjoner.
I tillegg til funksjonene på objektsideni innstillingsdialogen for å bestemme LOD-områder og -nivåer, tilbyr alternativsidenflere muligheter for justering.
Med alternativet Progressiv kan du for eksempel oppnå en jevnere veksling mellom LOD-nivåene for delobjekter ved å holde de andre LOD-nivåene skjult. Alternativet Polygoniser objekter sørger for at delobjekter som inneholder deformatorer, også fungerer som objekterpå LOD-nivå.