Ho un progetto Unity in cui esiste un mondo di gioco 2D costituito da collisori statici per rendere la geometria solida ai personaggi che la abitano. Il giocatore è un collisore dinamico (con un corpo rigido non cinematico). C'è anche un personaggio nemico che è anche un collisore dinamico. Entrambi i personaggi camminano sul pavimento e sbattono contro muri come mi aspetterei che loro.Crea due oggetti fisici non in collisione ma rileva collisioni in Unity
Quello che voglio ottenere è che il giocatore e il nemico non sono solidali l'uno con l'altro, in modo che possano muoversi l'uno attraverso l'altro. Ho raggiunto questo mettendo il nemico e il giocatore su livelli separati e impostando la matrice di collisione in modo che questi strati non entrino in collisione tra loro. Il problema che sto avendo ora, tuttavia, è che voglio rilevare se il nemico e il giocatore si incontrano o meno. Ho aggiunto un collisore del grilletto al personaggio nemico, è sul livello nemico, il che significa che non rileva collisioni con il giocatore.
Ho pensato di creare un sub-gameobject per il nemico, metterlo sul livello del giocatore, aggiungere un corpo rigido e innescare il collisore e usarlo per rilevare le collisioni tra il giocatore e il nemico, ma è così contorto che mi fa pensare se non ci sia una soluzione più elegante per questo.
Ho fatto quello che hai detto e funziona correttamente. Non avevo davvero pensato di mettere il grilletto sul giocatore, quindi tutti i miei nemici possono rimanere senza grilletto. Salva un sacco di problemi. – Jerry