Guide till Shadows in Unity

Om du är en nybörjare Unity-utvecklare som är angelägen om att förbättra det visuella tilltalande av dina projekt, kan förståelse och implementering av skuggor göra en betydande skillnad. Skuggor ger djup och realism till dina scener, vilket gör att objekt interagerar realistiskt med ljuskällor. Den här guiden går igenom grunderna för att aktivera skuggor i Unity och utforskar ytterligare optimeringar med Lightmaps.

Skuggor i Unity Editor.

Aktiverar Shadows in Unity

Steg 1: Öppna ditt Unity-projekt

  • Öppna ditt Unity-projekt och öppna en scen med objekt för att kasta skuggor.

Steg 2: Inställning av riktningsljus

  • I din scenhierarki, lokalisera "Directional Light". Detta ljus simulerar solljus i Unity.
  • Välj "Directional Light" för att komma åt dess egenskaper i inspektörsfönstret.

Steg 3: Skugginställningar

  • Scrolla ner i Inspector för att hitta "Shadow Type" rullgardinsmenyn.
  • Välj "Soft Shadows" eller "Hard Shadows" baserat på dina önskemål.

Steg 4: Justera skuggavstånd och upplösning

Skuggavstånd och upplösning kan justeras i projektets kvalitetsinställningar.

  • Ändra "Shadow Distance" för att styra omfånget av skuggor.
  • Ändra "Shadow Resolution" för att balansera kvalitet och prestanda.

Steg 5: Inaktivera skuggor på objekt

Om du vill inaktivera skuggkastning från specifika objekt, följ stegen nedan:

  • Välj ett objekt i din scen.
  • I Inspector, hitta "Mesh Renderer", eller någon komponent som härrör från "Renderer".
  • Ändra "Cast Shadows"-inställningen till lämpligt värde.
  • Det är också möjligt att kontrollera om objektet ska ta emot skuggor genom att markera eller avmarkera kryssrutan "Receive Shadows".

Steg 6: Observera scenen

  • Observera scenen för att se skuggor i realtid.

Felsökning av skuggor:

Om skuggor inte är synliga i din scen, överväg följande:

  • Riktningsljusvinkel: Se till att det riktade ljuset är placerat så att dess strålar träffar dina föremål. Experimentera med dess rotation.
  • Objektinställningar: Kontrollera om alternativet "Cast Shadows" är aktiverat för de objekt som du vill kasta skuggor.
  • Lightmap Resolution: Om du använder Lightmaps, se till att dina statiska objekt har tillräcklig ljuskartupplösning. Öka den om det behövs.
  • Shader-kompatibilitet: Vissa shaders kanske inte är kompatibla med skuggor. Testa med Unity's standard shaders eller shaders designade för skuggkompatibilitet.
  • Realtid vs. bakat: Realtidsskuggor kanske inte visas om objektet är markerat som statiskt. Välj antingen realtid eller bakade skuggor.
  • Skuggavstånd i kvalitetsinställningar: Kontrollera "Shadow Distance"-inställningen i projektets kvalitetsinställningar. Om avståndet är lägre än det aktuella avståndet från kameran kanske skuggor inte syns på vissa avstånd.

Optimera skuggor med ljuskartor

Unity erbjuder Lightmaps som en avancerad optimeringsteknik för statiska objekt, vilket minskar behovet av realtidsberäkningar.

Bakade ljuskartor i Unity.

Steg 1: Markera objekt som statiska

  • Välj statiska objekt i din scen.
  • Markera kryssrutan "Static" i Inspector.

Steg 2: Konfigurera Lightmap-inställningar

  • Gå till 'Window -> Rendering -> Lighting' för att öppna belysningsfönstret.
  • Scrolla ner till avsnittet "Lightmapping".
  • Ställ in "Lightmapper" på "Progressive" eller "Enlighten".
  • Klicka på "Generate Lighting" för att baka ljuskartor.

Steg 3: Justera realtid vs. bakade skuggor

  • Använd skuggor i realtid för dynamiska objekt.
  • För statiska objekt, lita på bakade skuggor från Lightmaps.

Steg 4: Testa och iterera

  • Tryck på Play för att testa din scen. Justera inställningar och iterera för att uppnå önskad balans mellan visuell kvalitet och prestanda.

Slutsats

Du har framgångsrikt aktiverat skuggor i Unity och utforskat ljuskartor för optimerad skuggåtergivning. Experimentera med olika inställningar, observera effekten på din scen och fortsätt din resa till att skapa visuellt fantastiska Unity-projekt.

Föreslagna artiklar
Hur man tilldelar en kamera till ett skript i Unity
Upptäck porten till gränslös kreativitet med Unity
Introduktion till partikelsystemet i enhet
Vanligt använda terminologi i Unity Engine
En introduktion till processuell generation i enhet
Fiskespelsguide för Unity
Unity Learn | Lekplats | Granskning av URP Asset Store-paket