🎼
Unity snabbreferens
  • Unity snabbreferens
  • Installation & setup
  • Kompilera och distribuera
  • Unity och git
  • GrundlĂ€ggande koncept
    • Begrepp
    • Ett Unityprojekts uppbyggnad
    • Prefabs och instanser
    • Komponenter
    • Scener
    • MonoBehavior
    • Lager och taggar
    • Knappar och axlar
  • Grundfunktioner
    • Debug och gizmos
    • Datatyper och synlighet
    • Input
      • Action-based Input System
    • Flytta och rotera
    • Kollisioner
    • Skapa och förstör
    • Hitta spelobjekt
    • BestĂ€ndig data
    • Slump
    • Fysik (2D och 3D)
      • Raycasting*
    • UI och Canvas*
    • Importera grafik*
      • Sprite editor*
    • Unity Events
    • Invoke, Couroutines
    • Animationer*
      • AnimationClip*
      • Animator Controller*
  • Andra funktioner
    • Tilemaps*
    • Asset Store
      • AnvĂ€ndbara Assets
    • Package manager
    • Meddelanden
    • CharacterController
    • Scriptable objects*
  • TillĂ€ggspaket
    • AI-Navmesh*
    • Mirror (nĂ€tverk)
    • XR Toolkit
      • Controllers
      • Interaktion*
      • Device Simulator
      • Teleportation
      • Meta Quest 2/3
      • 3D-modeller*
    • MRTK3 (HoloLens 2)
      • Grundkoncept*
      • Simulering
      • Interaktion*
      • Röststyrning
      • UI/UX och Canvas*
      • Spatial awareness*
      • Deployment*
    • MRTK2 (Hololens 1)
    • ProBuilder
  • Tekniker
    • PĂ„verka andra objekt*
    • RutnĂ€t*
Powered by GitBook
On this page
  • Scriptkomponenter
  • GetComponent<>()
  • TryGetComponent<>()
  • Komponentmenyn
  • Presets

Was this helpful?

  1. GrundlÀggande koncept

Komponenter

PreviousPrefabs och instanserNextScener

Last updated 1 year ago

Was this helpful?

Alla spelobjekt i Unity bestÄr av ett antal komponenter. Varje komponent Àr en instans av en komponentklass, och alla komponentklasser har olika inbyggda variabler och metoder som ger komponenten och spelobjektet funktionalitet.

NÄgra exempel pÄ vanliga komponenter:

  • Transform: Alla spelobjekt har en Transform-komponent som talar om objektets position, rotation och skalning.

  • Colliders: Finns i olika varianter (box, sphere etc) och Ă€r olika för 2d och 3d-fysik (t.ex. BoxCollider2D). Funkar som hit boxes; ger en enkel volym eller 2d-yta som anvĂ€nds för att kĂ€nna av kollisioner. Colliders kan göras till triggers och pĂ„verkar dĂ„ inte varandra i fysikmotorn; annars anvĂ€nds colliders för att göra sĂ„ saker kan hindra varandras förflyttning som fysiska objekt.

  • RigidBody, RigidBody2D: AnvĂ€nds för att tala om för fysikmotorn att objektet ska omfattas av fysiksimuleringen – man kan t.ex. ange objektets massa och via kod addera kraft i valfri riktning med hjĂ€lp av objektets rigidbody-komponent.

  • MeshRenderer, SpriteRenderer: AnvĂ€nds för att ge objektet ett utseende – MeshRenderer anvĂ€nder en 3d-modell som renderas ut pĂ„ skĂ€rmen medan SpriteRenderer anvĂ€nder en 2d-bild.

Scriptkomponenter

I princip all kod som skrivs i Unityprojekt skrivs i script-komponenter. För att scriptkomponentens kod ska köras behöver normalt sett komponenten sitta pÄ ett spelobjekt som Àr aktivt i scenen.

För att skapa en scriptkomponent:

  • Högerklicka i Assets och vĂ€lj Create → C# Script eller

  • Klicka pĂ„ Add Component lĂ€ngst ner i Inspectorn pĂ„ ett spelobjekt.

Normalt sett Àrver alla scriptkomponenter frÄn .

GetComponent<>()

HÀmtar första bÀsta komponent av angiven typ. Returnerar null om det inte finns nÄgon.

void Start()
{
  Transform tForm = this.GetComponent<Transform>();
  Rigidbody2D rigidBody = this.GetComponent<Rigidbody2D>();
}

TryGetComponent<>()

void Start()
{
  if (this.GetComponent<Rigidbody2D>(out RigidBody2D rigidBody)
  {
    // Gör nÄgot med rigidBody
  }
}

Komponentmenyn

  • Reset Ă„terstĂ€ller komponenten till dess utgĂ„nglĂ€ge. För en Transform-komponent betyder det till exempel att position och rotationsvĂ€rdena blir 0 och skalningsvördena blir 1.

  • Copy Component kopierar komponenten till minnet.

  • Paste Component As New lĂ€gger in en ny kopia av komponenten i minnet till spelobjektet.

  • Paste Component As Values fungerar bara om komponenten i minnet Ă€r av samma typ som den vars meny klickades pĂ„. DĂ„ Ă€ndras den klickade komponentens vĂ€rden till att bli samma som komponenten i minnets.

Presets

Detta Àr anvÀndbar nÀr man vill kunna ÄteranvÀnda en komponents variabelvÀrden till andra, framtida objekt som har samma komponent.

Fungerar dels som GetComponent, men Ă€r mer sĂ€ker – fungerar lite som . Med andra ord: GĂ„r det inte att hitta rĂ€tt komponent, sĂ„ returneras false.

Klicka pÄ till höger om komponentens namn för att ta fram komponentmenyn.

Presets Ă€r assets som innehĂ„ller fĂ€rdiga uppsĂ€ttningar vĂ€rden för en komponent. öppnar listan med presets, och dĂ€r finns ocksĂ„ en "Save current to
"-knapp för att spara komponentens nuvarande variabelvĂ€rden till en preset.

MonoBehavior
TryParse