Zoeken…


colliders

Box Collider

Een primitieve Collider in de vorm van een kubus. Ingeschakelde en uitgeschakelde Box Colliders

Eigendommen

  • Is trigger - Indien aangevinkt, zal de Box Collider fysica negeren en een Trigger Collider worden

  • Materiaal - Een verwijzing, indien gespecificeerd, naar het fysische materiaal van de Box Collider

  • Midden - de centrale positie van de Box Collider in de lokale ruimte

  • Grootte - De grootte van de Box Collider gemeten in de lokale ruimte

Voorbeeld

// 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

Een primitieve Collider in de vorm van een bol. Ingeschakelde en uitgeschakelde Sphere Colliders

Eigendommen

  • Is trigger - Indien aangevinkt, zal de Sphere Collider fysica negeren en een Trigger Collider worden

  • Materiaal - Een verwijzing, indien gespecificeerd, naar het fysische materiaal van de Sphere Collider

  • Midden - de centrale positie van de Sphere Collider in de lokale ruimte

  • Radius - De straal van de Collider

Voorbeeld

// 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

Twee halve bollen verbonden door een cilinder. In- en uitgeschakeld Capsule Colliders

Eigendommen

  • Is trigger - Indien aangevinkt, zal de Capsule Collider fysica negeren en een Trigger Collider worden

  • Materiaal - Een verwijzing, indien gespecificeerd, naar het fysische materiaal van de Capsule Collider

  • Midden - de centrale positie van de Capsule Collider in de lokale ruimte

  • Radius - De radius in de lokale ruimte

  • Hoogte - Totale hoogte van de Collider

  • Richting - de oriëntatie-as in de lokale ruimte

Voorbeeld

// 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

Eigendommen

  • Massa - De massa van de Wheel Collider

  • Radius - De radius in de lokale ruimte

  • Wheel demping rate - Demping waarde voor de Wheel Collider

  • Ophangafstand - Maximale extensie langs de Y-as in lokale ruimte

  • Afstand app-punt afdwingen - het punt waarop krachten worden uitgeoefend,

  • Midden - Midden van de Wheel Collider in de lokale ruimte

Verende veer

  • Veer - de snelheid waarmee het wiel probeert terug te keren naar de doelpositie

  • Demper - Een grotere waarde dempt de snelheid meer en de vering beweegt langzamer

  • Doelpositie - de standaardwaarde is 0,5, bij 0 is de ophanging dieptepunt, bij 1 is deze volledig uitgestrekt

  • Voorwaartse / zijwaartse wrijving - hoe de band zich gedraagt bij voorwaarts of zijwaarts rollen

Voorbeeld


Mesh Collider

Een Collider op basis van een Mesh Asset. Niet-convexe en convexe Mesh Colliders

Eigendommen

  • Is trigger - Indien aangevinkt, zal de Box Collider fysica negeren en een Trigger Collider worden

  • Materiaal - Een verwijzing, indien gespecificeerd, naar het fysische materiaal van de Box Collider

  • Mesh - Een verwijzing naar de mesh waarop de Collider is gebaseerd

  • Convex - Convexe Mesh colliders zijn beperkt tot 255 polygonen - indien ingeschakeld, kan deze Collider botsen met andere mesh colliders

Voorbeeld


Als je meer dan één Collider op een GameObject toepast, noemen we dit een Compound Collider. voer hier de afbeeldingsbeschrijving in

Wheel Collider

De wielbotser in eenheid is gebouwd op Nvidia's PhysX wielbotser en heeft daarom veel vergelijkbare eigenschappen. Technisch gezien is eenheid een "eenheidloos" programma, maar om alles logisch te maken, zijn enkele standaardeenheden vereist.

Basiseigenschappen

  • Massa - het gewicht van het wiel in kilogram, dit wordt gebruikt voor wielmomentum en het moment van interia tijdens het draaien.
  • Radius - in meters, de straal van de botser.
  • Wieldemping - Past aan hoe "responsief" de wielen zijn op het toegepaste koppel.
  • Ophangafstand - Totale reisafstand in meters die het wiel kan afleggen
  • Force App Point Distance - waar is de kracht van de ophanging die wordt uitgeoefend op de stijve bovenwagen
  • Midden - De middenpositie van het wiel

Instellingen opschorting

  • Lente - Dit is de veerconstante, K, in Newton / meter in de vergelijking:

Kracht = veerconstante * afstand

Een goed startpunt voor deze waarde moet de totale massa van uw voertuig zijn, gedeeld door het aantal wielen, vermenigvuldigd met een getal tussen 50 en 100. Als u bijvoorbeeld een auto van 2000 kg met 4 wielen hebt, moet elk wiel ondersteuning 500kg. Vermenigvuldig dit met 75, en je veerconstante moet 37.500 Newton / meter zijn.

  • Demper - het equivalent van een schokdemper in een auto. Hogere snelheden maken de spanning "stijver" en lagere snelheden maken het "zachter" en meer waarschijnlijk om te oscilleren.
    Ik ken de eenheden of vergelijking hiervoor niet, ik denk dat het wel te maken heeft met een frequentievergelijking in de natuurkunde.

Sideways Friction-instellingen

De wrijvingscurve in eenheid heeft een slipwaarde die wordt bepaald door hoeveel het wiel slipt (in m / s) van de gewenste positie versus de werkelijke positie.

  • Extreme slip - Dit is de maximale hoeveelheid (in m / s) die een wiel kan slippen voordat het grip verliest

  • Extremumwaarde - Dit is de maximale hoeveelheid wrijving die op een wiel moet worden toegepast.

De waarden voor Exrtremum Slip moeten tussen de .2 en 2m / s liggen voor de meeste realistische auto's. 2 m / s is ongeveer 6 voet per seconde of 5 mph, wat veel slip is. Als u denkt dat uw voertuig een hogere waarde dan 2 m / s moet hebben voor slip, moet u overwegen de maximale wrijving te verhogen (extreme waarde).

Max. Fractie (extreme waarde) is de wrijvingscoëfficiënt in de vergelijking:

Wrijvingskracht (in newton) = Wrijvingscoëfficiënt * Neerwaartse kracht (in newton)

Dit betekent dat u met een coëfficiënt van 1 de volledige kracht van de auto + ophanging tegengesteld aan de sliprichting toepast. In echte toepassingen zijn waarden hoger dan 1 zeldzaam, maar niet onmogelijk. Voor een band op droog asfalt zijn waarden tussen .7 en .9 realistisch, dus de standaardwaarde van 1.0 heeft de voorkeur.

Deze waarde mag realistisch gezien niet hoger zijn dan 2,5, omdat er vreemd gedrag zal optreden. Je begint bijvoorbeeld rechtsaf te slaan, maar omdat deze waarde zo hoog is, wordt een grote kracht tegengesteld aan je richting uitgeoefend en begin je in de bocht te glijden in plaats van weg.

Als u beide waarden hebt gemaximaliseerd, moet u beginnen met het verhogen van de asymptootstrook en -waarde. Asymptote Slip moet tussen 0,5 en 2 m / s liggen en definieert de wrijvingscoëfficiënt voor elke slipwaarde voorbij de Asymptote slip. Als u merkt dat uw voertuigen zich goed gedragen totdat ze tractie verbreken, op welk punt het werkt alsof het op ijs is, moet u de Asymptote-waarde verhogen. Als u merkt dat uw voertuig niet kan driften, moet u de waarde verlagen.

Voorwaartse wrijving

Voorwaartse wrijving is identiek aan zijwaartse wrijving, behalve dat dit bepaalt hoeveel tractie het wiel heeft in de richting van de beweging. Als de waarden te laag zijn, zullen uw voertuigen doorbranden en de banden laten ronddraaien voordat u langzaam verder rijdt. Als het te hoog is, kan uw voertuig de neiging hebben om te proberen een wheely, of erger, om te keren.

extra notities

Verwacht niet dat je een GTA-kloon of andere racekloon kunt maken door deze waarden eenvoudig aan te passen. In de meeste racegames worden deze waarden constant in scripts gewijzigd voor verschillende snelheden, terreinen en draaidoorwaarden. Bovendien, als u alleen een constant koppel op de wielbotsers toepast wanneer een toets wordt ingedrukt, zal uw spel zich niet realistisch gedragen. In de echte wereld hebben auto's koppelcurves en transmissies om het op de wielen toegepaste koppel te veranderen.

Voor de beste resultaten moet u deze waarden afstemmen totdat u een auto krijgt die redelijk goed reageert, en vervolgens wijzigingen aanbrengen in het wielkoppel, de maximale draaihoek en wrijvingswaarden in het script.

Meer informatie over wielbotsers is te vinden in de documentatie van Nvidia: http://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/Vehicles.html

Trigger Colliders

methoden

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

U kunt van een Collider een trigger maken om de OnTriggerEnter() , OnTriggerStay() en OnTriggerExit() gebruiken. Een Trigger Collider reageert niet fysiek op botsingen, andere GameObjects gaan er gewoon doorheen. Ze zijn handig om te detecteren wanneer een ander GameObject zich in een bepaald gebied bevindt of niet. Als we bijvoorbeeld een item verzamelen, willen we het misschien gewoon doornemen, maar detecteren wanneer dit gebeurt.

Trigger Collider Scripting

Voorbeeld

De onderstaande methode is een voorbeeld van een triggerlistener die detecteert wanneer een andere botser de botser van een GameObject (zoals een speler) betreedt. Triggermethoden kunnen worden toegevoegd aan elk script dat is toegewezen aan een 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow