Unity - Capire le collisioni
Le collisioni in Unity sono separate dallo Sprite stesso, attaccate come componenti separati e vengono calcolate da sole. Cerchiamo ora di imparare la causa dietro questo.
Everythingnel tuo gioco è un GameObject. Anche le singole tessere che compongono il tuo livello sono GameObject da sole.
Quando consideriamo ogni componente come un GameObject, ci rendiamo conto che potrebbe esserci thousandsdi GameObjects in una scena, interagendo tra loro in qualche modo. Puoi immaginare che se Unity aggiungesse collisioni a ogni singolo GameObject, sarebbe poco pratico per il motore calcolare le collisioni per ognuna di esse.
Andremo avanti e aggiungeremo un semplice "muro" contro il quale il nostro giocatore può scontrarsi. Per fare ciò, crea un altro sprite e ingrandiscilo usando lo strumento Rect. Gli daremo anche un colore rosso attraverso ilColor proprietà nel componente Sprite Renderer.
Ora vai a Add Componentnell'Ispettore e digitare "Box Collider 2D". Fai clic sul primo componente visualizzato e dovrebbe apparire un nuovo componente.
Vedrai una linea verde brillante sul perimetro del tuo GameObject. Questo è ilcollision boundary. È ciò che definisce l'attualeshape degli oggetti collidibili.
Ripeti lo stesso anche con il nostro GameObject mobile.
Naturalmente, le collisioni in Unity non sono limitate a semplici scatole. Possono variare in una varietà di forme e dimensioni e non sono necessariamente repliche dei parametri dell'oggetto.
Possono anche assumere forme poligonali.
Non è raro vedere l'uso di sviluppatori e designer approximateforme nei loro confini di collisione per semplificare i loro collisori ed evitare calcoli non necessari per il motore. Presto impareremo come creare forme e dimensioni diverse con i nostri collisori.
Ora che abbiamo i nostri limiti di collisione a posto, premi play e guardalo in azione.
Noterai che il nostro oggetto mobile non si comporta normalmente. Discuteremo il comportamento dell'oggetto nel prossimo capitolo.