Sök…


colliders

Box Collider

En primitiv Collider formad som en cuboid. Aktiverade och inaktiverade Box Colliders

Egenskaper

  • Är Trigger - Om kryssat kommer Box Collider att ignorera fysik och bli en Trigger Collider

  • Material - En referens, om det specificeras, till Box Collider's fysikmaterial

  • Center - The Box Colliders centrala position i det lokala rymden

  • Storlek - Storleken på Box Collider uppmätt i lokalt utrymme

Exempel

// Add a Box Collider to the current GameObject.
BoxCollider myBC = BoxCollider)myGameObject.gameObject.AddComponent(typeof(BoxCollider));
 
// Make the Box Collider into a Trigger Collider.
myBC.isTrigger= true;

// Set the center of the Box Collider to the center of the GameObject.
myBC.center = Vector3.zero;

// Make the Box Collider twice as large.
myBC.size = 2;

Sphere Collider

En primitiv Collider formad som en sfär. Aktiverade och inaktiverade Sphere Colliders

Egenskaper

  • Är Trigger - Om markerad kommer Sphere Collider att ignorera fysik och bli en Trigger Collider

  • Material - En referens, om specificerad, till fysikmaterialet i Sphere Collider

  • Center - The Sphere Colliders centrala position i det lokala rymden

  • Radius - Radien för Collider

Exempel

// Add a Sphere Collider to the current GameObject.
SphereCollider mySC = SphereCollider)myGameObject.gameObject.AddComponent(typeof(SphereCollider));
 
// Make the Sphere Collider into a Trigger Collider.
mySC.isTrigger= true;

// Set the center of the Sphere Collider to the center of the GameObject.
mySC.center = Vector3.zero;

// Make the Sphere Collider twice as large.
mySC.radius = 2;

Capsule Collider

Två halva sfärer förenade av en cylinder. Aktiverade och inaktiverade Capsule Colliders

Egenskaper

  • Är Trigger - Om det är markerat kommer Capsule Collider att ignorera fysik och bli en Trigger Collider

  • Material - En referens, om specificerad, till fysikmaterialet i Capsule Collider

  • Center - The Capsule Colliders centrala position i det lokala rymden

  • Radius - Radien i det lokala rymden

  • Höjd - Colliderens totala höjd

  • Riktning - orienteringsaxeln i det lokala rymden

Exempel

// Add a Capsule Collider to the current GameObject.
CapsuleCollider myCC = CapsuleCollider)myGameObject.gameObject.AddComponent(typeof(CapsuleCollider));
 
// Make the Capsule Collider into a Trigger Collider.
myCC.isTrigger= true;

// Set the center of the Capsule Collider to the center of the GameObject.
myCC.center = Vector3.zero;

// Make the Sphere Collider twice as tall.
myCC.height= 2;

// Make the Sphere Collider twice as wide.
myCC.radius= 2;

// Set the axis of lengthwise orientation to the X axis.
myCC.direction = 0;

// Set the axis of lengthwise orientation to the Y axis.
myCC.direction = 1;

// Set the axis of lengthwise orientation to the Y axis.
myCC.direction = 2;

Wheel Collider

Egenskaper

  • Massa - Massan av Wheel Collider

  • Radius - Radien i det lokala rymden

  • Hjuldämpningshastighet - Dämpningsvärde för Wheel Collider

  • Fjädringsavstånd - Maximal förlängning längs Y-axeln i det lokala rymden

  • Tvinga app-punktavstånd - Den punkt där krafter kommer att appliceras,

  • Center - Center of the Wheel Collider i lokala rymden

Fjädring

  • Spring - hastigheten med vilken hjulet försöker återgå till målpositionen

  • Spjäll - Ett större värde dämpar hastigheten mer och upphängningen rör sig långsammare

  • Målposition - standard är 0,5, vid 0 är upphängningen botten ut, vid 1 är den i full utsträckning

  • Friktion framåt / i sidled - hur däcket fungerar när du rullar framåt eller i sidled

Exempel


Mesh Collider

En Collider baserad på en Mesh Asset. Icke-konvexa och konvexa Mesh Colliders

Egenskaper

  • Är Trigger - Om kryssat kommer Box Collider att ignorera fysik och bli en Trigger Collider

  • Material - En referens, om specificerad, till fysikmaterialet i Box Collider

  • Mesh - En referens till det nät som Collider bygger på

  • Konvex - konvexa nätkolliderare är begränsade till 255 polygoner - om den är aktiverad kan denna Collider kollidera med andra nätkolliderare

Exempel


Om du använder mer än en Collider på ett GameObject, kallar vi det en Compound Collider. ange bildbeskrivning här

Wheel Collider

Hjulkollideraren inuti enheten bygger på Nvidias PhysX hjulkolliderare och delar därför många liknande egenskaper. Teknisk enhet är ett "enhetslöst" program, men för att allt ska vara meningsfullt krävs vissa standardenheter.

Grundläggande egenskaper

  • Massa - hjulets vikt i kilogram, detta används för hjulmoment och ögonblicket för interia vid snurrning.
  • Radie - i meter, radien för collideren.
  • Dämpningsfrekvens för hjul - Justerar hur "lyhörda" hjulen är på det applicerade momentet.
  • Fjädringsavstånd - Totalt köravstånd i meter som hjulet kan röra sig
  • Force App Point Distance - var är kraften från upphängningen applicerad på den föräldra styvkroppen
  • Center - Hjulets mittposition

Inställningar för upphängning

  • Spring - Detta är vårkonstanten, K, i Newton / meter i ekvationen:

Kraft = Vårkonstant * Avstånd

En bra utgångspunkt för detta värde bör vara den totala massan på ditt fordon, dividerat med antalet hjul, multiplicerat med ett tal mellan 50 till 100. T.ex. om du har en 2 000 kg bil med 4 hjul, måste varje hjul behöva stöd 500 kg. Multiplicera detta med 75, och din fjäderkonstant bör vara 37 500 Newton / meter.

  • Spjäll - motsvarande en stötdämpare i en bil. Högre räntor gör spänningen "styvare" och lägre räntor gör den "mjukare" och mer trolig att svänga.
    Jag känner inte till enheterna eller ekvationen för detta, jag tror att det har att göra med en frekvensekvation i fysiken.

Sidleds friktionsinställningar

Friktionskurvan i enhet har ett slirvärde bestämt av hur mycket hjulet glider (i m / s) från önskat läge jämfört med det faktiska läget.

  • Extremum Slip - Det här är det maximala beloppet (i m / s) som ett hjul kan glida innan det tappar dragkraft

  • Extremumvärde - Detta är den maximala mängden friktion som ska appliceras på ett hjul.

Värdena för Exrtremum Slip bör vara mellan 2 och 2 m / s för de flesta realistiska bilar. 2 m / s är cirka 6 fot per sekund eller 5 mph, vilket är en hel del glid. Om du känner att ditt fordon måste ha ett värde högre än 2 m / s för glidning, bör du överväga att öka maxfriktion (Extremum Value).

Max Fraktion (Extremum Value) är friktionskoefficienten i ekvationen:

Friktionskraft (i newton) = Friktionskoefficient * Nedåtkraft (i newton)

Detta innebär att med en koefficient på 1 tillämpar du hela kraften i bilen + fjädring mittemot glidriktningen. I verkliga applikationer är värden högre än 1 sällsynta, men inte omöjliga. För ett däck på torr asfalt är värden mellan 0,7 och 0,9 realistiska, så standard är 1,0 att föredra.

Detta värde bör inte realistiskt inte överstiga 2,5, eftersom konstigt beteende börjar uppstå. Till exempel börjar du sväng höger, men eftersom detta värde är så högt appliceras en stor kraft mittemot din riktning, och du börjar glida in i svängen istället för bort.

Om du har maxat båda värdena bör du sedan börja höja asymptot-glidningen och värdet. Asymptot Slip bör ligga mellan .5 och 2 m / s och definierar friktionskoefficienten för eventuellt glidvärde förbi Asymptote-slipen. Om du tycker att dina fordon beter sig tills den bryter dragkraft, då den fungerar som om den är på is, bör du höja Asymptote-värdet. Om du upptäcker att ditt fordon inte kan driva, bör du sänka värdet.

Framåt friktion

Friktion framåt är identisk med friktion i sidled, med undantag för att detta definierar hur mycket draghjulet har i rörelseriktningen. Om värdena är för låga gör dina fordon utbrändhet och snurrar bara däcken innan du går framåt, långsamt. Om det är för högt kan ditt fordon ha en tendens att försöka göra en liten, eller värre, vändning.

Ytterligare anmärkningar

Förvänta dig inte att kunna skapa en GTA-klon eller annan racingklon genom att helt enkelt justera dessa värden. I de flesta körspel ändras dessa värden ständigt i skriptet för olika hastigheter, terrängen och vridvärden. Om du bara tillämpar ett konstant vridmoment på hjulcolliderna när du trycker på en knapp, kommer ditt spel inte att uppträda realistiskt. I den verkliga världen har bilar momentkurvor och växellådor för att ändra vridmomentet på hjulen.

För bästa resultat bör du ställa in dessa värden tills du får en bil som svarar ganska bra och sedan göra ändringar i hjulmoment, max vridvinkel och friktionsvärden i skriptet.

Mer information om hjulkolliderare finns i Nvidias dokumentation: http://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/Vehicles.html

Trigger Colliders

metoder

  • OnTriggerEnter()
  • OnTriggerStay()
  • OnTriggerExit()

Du kan göra en Collider till en Trigger för att använda OnTriggerEnter() , OnTriggerStay() och OnTriggerExit() . En Trigger Collider reagerar inte fysiskt på kollisioner, andra GameObjects passerar helt enkelt igenom den. De är användbara för att upptäcka när ett annat GameObject befinner sig i ett visst område eller inte, till exempel när vi samlar in ett objekt kan vi kanske bara köra igenom det men upptäcka när detta händer.

Trigger Collider-skript

Exempel

Metoden nedan är ett exempel på en trigger-lyssnare som upptäcker när en annan collider kommer in i en GameObject (t.ex. en spelare). Trigger-metoder kan läggas till i alla skript som tilldelas ett GameObject.

void OnTriggerEnter(Collider other)
{
    //Check collider for specific properties (Such as tag=item or has component=item)
}


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow