Proiettili che colpiscono
Fa parte della sezione Fisica e gameplay del percorso Unity di Coddy. Lezione 56 di 71.
Sfida
MedioScrivi il proiettile: danneggia ciò che ha un componente Health e attraversa tutto ciò che colpisce.
- In
Bullet, aggiungivoid OnCollisionEnter(Collision collision). - Al suo interno,
if (collision.gameObject.TryGetComponent(out Health health)), chiamahealth.TakeDamage(damage);. - Dopo quell’
if, chiamaDestroy(gameObject);, così anche un proiettile che colpisce il muro viene distrutto.
Premi «Gioca» e spara al manichino e al muro. Poi premi «Verifica».
Provalo tu
using UnityEngine;
public class Bullet : MonoBehaviour
{
[SerializeField] private int damage = 2;
// all'impatto: infliggi danni a ciò che ha un Health, poi distruggi il proiettile
}
Tutte le lezioni di Fisica e gameplay
1Corpo rigido
Gravità e massaSpingi con AddForceSalta con un impulsoFixedUpdate per la fisicaVelocitàCorpi cinematiciRiepilogo: piattaforma di lancio4Coroutine
InvokeInvokeRepeating, CancelInvokeLa tua prima coroutineCicli nelle coroutineInterrompere le coroutineRiepilogo: conto alla rovescia7Rotazione
Angoli di EuleroQuaternioniGuarda nella direzione in cui ti muoviRuota in modo fluidoRiepilogo: Torretta10Progetto: Fuga dall'arena
L'arenaCacciatori2Collisioni
OnCollisionEnterCosa ho colpito?Rompersi all'impattoRestare a terraRimbalzo e attritoForme dei ColliderRiepilogo: muro distruttibile5Progetto: Corsa alle monete
La palla rotolanteMonete da raccogliere3Trigger
Collider triggerOnTriggerEnterOggetti da raccogliereLe casse tengono il restoZone letaliEntrare e uscireRiepilogo: chiave e porta6Raycast
Physics.RaycastRaycastHitControllo del terreno con un RayLayer e LayerMaskLinea di vistaOverlapSphere e SphereCastRiepilogo: filo laser9Nemici
Inseguire il giocatoreInseguire a portataPattugliare e inseguireSalute e danniProiettili che colpisconoContraccolpoRiepilogo: Cane da guardiaEsercitati da solo: Playground Unity