Ricerca…


collider

Box Collider

Un Collider primitivo a forma di cuboide. Box Collider abilitato e disabilitato

Proprietà

  • È Trigger - Se selezionata, la Casella Collider ignorerà la fisica e diventare un trigger Collider

  • Materiale : un riferimento, se specificato, al materiale fisico di Box Collider

  • Centro : la posizione centrale di Box Collider nello spazio locale

  • Dimensione : la dimensione del Box Collider misurata nello spazio locale

Esempio

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

Un Collider primitivo a forma di sfera. Collettori Sphere abilitati e disabilitati

Proprietà

  • Trigger : se spuntato, Sphere Collider ignorerà la fisica e diventerà un Trigger Collider

  • Materiale : un riferimento, se specificato, al materiale fisico di Sphere Collider

  • Centro : la posizione centrale di The Sphere Collider nello spazio locale

  • Raggio : il raggio del Collider

Esempio

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

Due mezze sfere unite da un cilindro. Capsule Collider abilitati e disabilitati

Proprietà

  • Trigger : se spuntato, Capsule Collider ignorerà la fisica e diventerà un Trigger Collider

  • Materiale : un riferimento, se specificato, al materiale fisico del Capsule Collider

  • Centro : la posizione centrale di Capsule Collider nello spazio locale

  • Raggio - Il raggio nello spazio locale

  • Altezza - Altezza totale del Collisore

  • Direzione : l'asse di orientamento nello spazio locale

Esempio

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

Proprietà

  • Massa : la massa del Wheel Collider

  • Raggio - Il raggio nello spazio locale

  • Velocità di smorzamento delle ruote - Valore di smorzamento per il Wheel Collider

  • Distanza di sospensione - Estensione massima lungo l'asse Y nello spazio locale

  • Forza la distanza del punto dell'app - Il punto in cui verranno applicate le forze,

  • Centro : centro del Wheel Collider nello spazio locale

Sospensione Primavera

  • Spring : la velocità con cui la ruota tenta di tornare alla posizione target

  • Damper - Un valore maggiore smorza maggiormente la velocità e le sospensioni si muovono più lentamente

  • Posizione di destinazione : il valore predefinito è 0,5, a 0 la sospensione viene portata a fondo, a 1 è all'estensione completa

  • Attrito avanti / lateralmente - come si comporta il pneumatico quando si muove in avanti o lateralmente

Esempio


Mesh Collider

Un Collider basato su un Mesh Asset. Collettori di maglia non convessi e convessi

Proprietà

  • Trigger : se spuntato, Box Collider ignorerà la fisica e diventerà un Trigger Collider

  • Materiale : un riferimento, se specificato, al materiale fisico di Box Collider

  • Mesh : un riferimento alla mesh su cui è basato il Collider

  • Convex - I collettori di Convex Mesh sono limitati a 255 poligoni - se abilitato, questo Collider può scontrarsi con altri raccoglitori di mesh

Esempio


Se si applica più di un Collider a un GameObject, viene chiamato Compound Collider. inserisci la descrizione dell'immagine qui

Wheel Collider

Il collisore all'interno dell'unità è basato sul collettore ruota PhysX di Nvidia e pertanto condivide molte proprietà simili. Tecnicamente l'unità è un programma "senza unità", ma per rendere tutto ha senso, sono necessarie alcune unità standard.

Proprietà di base

  • Massa: il peso della ruota in chilogrammi, questo è usato per il momento della ruota e il momento dell'interia quando gira.
  • Raggio: in metri, il raggio del collisore.
  • Velocità di smorzamento delle ruote - Regola la modalità di risposta "reattiva" delle ruote alla coppia applicata.
  • Distanza di sospensione - Distanza percorsa totale in metri che la ruota può percorrere
  • Forza la distanza del punto dell'app - dove si trova la forza dalla sospensione applicata al corpo rigido genitore
  • Centro: la posizione centrale della ruota

Impostazioni di sospensione

  • Spring - Questa è la costante di primavera, K, in Newton / metro nell'equazione:

Forza = costante costante * Distanza

Un buon punto di partenza per questo valore dovrebbe essere la massa totale del tuo veicolo, diviso per il numero di ruote, moltiplicato per un numero compreso tra 50 e 100. Ad esempio, se hai una macchina da 2.000 kg con 4 ruote, allora ogni ruota dovrebbe supporto 500 kg. Moltiplicalo per 75, e la tua costante di primavera dovrebbe essere 37.500 Newton / metro.

  • Ammortizzatore - l'equivalente di un ammortizzatore in una macchina. Tassi più alti rendono la suspense "più rigida" e tassi più bassi lo rendono "più morbido" e più probabile che oscilli.
    Però non conosco le unità o l'equazione, penso che abbia a che fare con un'equazione di frequenza in fisica.

Impostazioni di attrito lateralmente

La curva di attrito in unità ha un valore di slittamento determinato da quanto la ruota sta scivolando (in m / s) dalla posizione desiderata rispetto alla posizione effettiva.

  • Extremum Slip - Questa è la quantità massima (in m / s) di una ruota che può scivolare prima di perdere aderenza

  • Valore estremo: è la quantità massima di attrito che deve essere applicata a una ruota.

I valori di Exrtremum Slip dovrebbero essere compresi tra 0,2 e 2 m / s per le auto più realistiche. 2 m / s è di circa 6 piedi al secondo o 5 miglia orarie, che è un sacco di scivolone. Se ritieni che il tuo veicolo debba avere un valore superiore a 2m / s per lo slittamento, dovresti considerare l'aumento dell'attrito massimo (valore Extremum).

Max Fraction (Extremum Value) è il coefficiente di attrito nell'equazione:

Force of Friction (in newton) = Coefficient of Friction * Downward Force (in newton)

Questo significa che con un coefficiente di 1, si applica l'intera forza dell'auto + sospensione opposta rispetto alla direzione di slittamento. Nelle applicazioni del mondo reale, valori superiori a 1 sono rari, ma non impossibili. Per un pneumatico su asfalto asciutto, i valori tra 0,7 e 0 sono realistici, quindi è preferibile il valore predefinito di 1,0.

Questo valore non dovrebbe realisticamente non superare il 2,5, poiché comincerà a verificarsi uno strano comportamento. Ad esempio, si inizia a girare a destra, ma poiché questo valore è così elevato, viene applicata una grande forza opposta alla propria direzione e si inizia a scivolare nel turno anziché lontano.

Se hai raggiunto il valore massimo di entrambi i valori, dovresti quindi iniziare ad aumentare lo slittamento e il valore dell'asymptote. Asymptote Slip dovrebbe essere compreso tra 0,5 e 2 m / se definisce il coefficiente di attrito per qualsiasi valore di slittamento oltre lo slittamento Asymptote. Se trovi che i tuoi veicoli si comportano bene fino a quando non rompono la trazione, a quel punto si comporta come se fosse su ghiaccio, dovresti aumentare il valore di Asymptote. Se trovi che il tuo veicolo non è in grado di andare alla deriva, dovresti abbassare il valore.

Attrito in avanti

L'attrito anteriore è identico all'attrito laterale, con l'eccezione che questo definisce quanta trazione la ruota ha nella direzione del movimento. Se i valori sono troppo bassi, i veicoli faranno burnouts e semplicemente ruotano le gomme prima di andare avanti, lentamente. Se è troppo alto, il tuo veicolo potrebbe avere la tendenza a provare a fare un wheely, o peggio, flip.

Note aggiuntive

Non aspettarti di essere in grado di creare un clone GTA o altri cloni da corsa semplicemente regolando questi valori. Nella maggior parte dei giochi di guida, questi valori vengono costantemente modificati nella sceneggiatura per diverse velocità, terreni e valori di virata. Inoltre, se si applica una coppia costante ai raccoglitori di ruote quando si preme un tasto, il gioco non si comporterà realisticamente. Nel mondo reale, le auto hanno curve di coppia e trasmissioni per cambiare la coppia applicata alle ruote.

Per ottenere i migliori risultati, è necessario sintonizzare questi valori fino a ottenere un'automobile che risponda abbastanza bene, quindi apportare modifiche alla coppia di ruote, all'angolo di sterzata massimo e ai valori di attrito nella sceneggiatura.

Maggiori informazioni sui carrelli a ruote possono essere trovate nella documentazione di Nvidia: http://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/Vehicles.html

Trigger Collider

metodi

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

È possibile creare un Collider in Trigger per utilizzare i OnTriggerEnter() , OnTriggerStay() e OnTriggerExit() . Un Trigger Collider non reagisce fisicamente alle collisioni, altri GameObject semplicemente lo attraversano. Sono utili per rilevare quando un altro GameObject si trova in una determinata area o no, ad esempio, quando si raccoglie un oggetto, potremmo essere in grado di scorrerlo ma rilevare quando ciò accade.

Trigger Collider Scripting

Esempio

Il metodo seguente è un esempio di un listener di trigger che rileva quando un altro collisore entra nel collisore di un oggetto GameObject (come un giocatore). I metodi di trigger possono essere aggiunti a qualsiasi script assegnato a un 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow