🎼
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
  • Move()
  • isGrounded
  • velocity

Was this helpful?

  1. Andra funktioner

CharacterController

CharacterController Ă€r en komponent för att hantera spelkaraktĂ€rer i 3D-spel. Med en CharacterController behöver karaktĂ€ren ingen RigidBody eller Collider – istĂ€llet sköter CharacterControllern kollisioner med hjĂ€lp av vad som i princip Ă€r en Capsule Collider.

CharacterControllers har ingen automatisk gravitation och pÄverkas normalt inte heller av andra fysik-krafter.

Move()

Flytta objektet, ungefÀr som transform.Translate men arbetar normalt sett i den globala rymden, dvs förflyttningen Àr inte relativt objektets rotation.

Vector3 movement = inputVector.x * movementSpeed * transform.right
                     + inputVector.y * movementSpeed * transform.forward;

GetComponent<CharacterController>().Move(movement * Time.deltaTime);

isGrounded

Kolla ifall karaktÀren stÄr pÄ marken.

OBSERVERA: Fungerar bara om karaktĂ€ren flyttade sig, eller försökte flytta sig, föregĂ„ende frame! DĂ€rför Ă€r det bra att t.ex. inte nollstĂ€lla eventuell vertikal hastighet helt


if (characterController.isGrounded)
{
  verticalVelocity = -1;
  if (jumpPressed)
  {
    verticalVelocity = jumpForce;
  }
}

velocity

if (characterController.velocity.y > 0)
{
  // Hoppar
}
else if (characterController.isGrounded)
{
  // StÄr pÄ marken
}
else
{
  // Ramlar nedÄt
}
PreviousMeddelandenNextScriptable objects*

Last updated 1 year ago

Was this helpful?

En som Ă€r den hastighet karaktĂ€ren har – eller snarare, hade föregĂ„ende frame. Kan inte Ă€ndras pĂ„; Ă€r bara ett passivt utrĂ€knat vĂ€rde.

Vector3