[DB-AL] Détecter la collision d'un enfant d'un gameObject

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Arda
Messages : 2
Inscription : 22 Nov 2017 22:08

[DB-AL] Détecter la collision d'un enfant d'un gameObject

Message par Arda » 22 Nov 2017 22:19

Bonsoir,

J'ai un cube qui est composé comme ci-dessous
Player
-- Back
-- Bottom
-- Front
-- Left
-- Right
-- Top

Mon script qui détecte la collision est sur le parent (Player).
J'aimerais que lorsqu’une face du cube entre en collision avec un objet quelconque, la récupérer.

Merci d'avance

Avatar de l’utilisateur
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: [DB-AL] Détecter la collision d'un enfant d'un gameObject

Message par Max » 23 Nov 2017 19:42

Bonsoir,

On en déduit donc que le collider du parent est un boxcollider englobant les 6 faces (enfants) du cube. Et que ton parent n'a pas de meshfilter.
Je dirais deux cas de figure possibles à la base:
-Soit ton cube ne subit aucune rotation, et là, il suffit de récupérer la normal du point de collision, qui te donnera l'orientation de la face touchée (et donc celle qui est impactée).
-Soit ton cube peut avoir un orientation quelconque, et là je dirais soit tu passes par des transform.InverseTransformPoint(hit.normal) pour récupérer les normals, ou plus simple, un collider par face du coup ... :mrgreen:
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Arda
Messages : 2
Inscription : 22 Nov 2017 22:08

Re: [DB-AL] Détecter la collision d'un enfant d'un gameObject

Message par Arda » 23 Nov 2017 21:51

Bonsoir,

Merci pour t'as réponse. Mon cube peut avoir une orientation.

Je ne connaissais pas "InverseTransformPoint" et je retrouve bien mon côté. :D

Pour le collider, je ne pouvais pas car les enfants n'ont pas de rigidbody. Mais ça aurait sûrement fonctionné avec un Trigger.

Répondre

Revenir vers « (C#) CSharp »