Page 1 sur 1

Un GameObject avec plusieurs trigger2D ?

Publié : 30 Jan 2021 13:21
par ludoxe
Bonjour,

J'ai un monstre auquel je souhaite rajouter plusieurs triggers pour repérer un joueur, un qui fera office de détection visuelle, et un autre de détection sonore.

Il me semble qu'il est préférable de répartir les triggers sur des childs gameobjects. Mais niveau script quelle serait la meilleure façon de procéder ensuite ?

Aussi, en développant en 2D, je voudrais savoir si ce ne serait pas mieux de mettre tous les triggers sur le même gameObject, puis d'utiliser Collider2D.IsTouching pour distinguer la distinction visuelle de la distinction sonore ?

Merci à vous !

Re: Un GameObject avec plusieurs trigger2D ?

Publié : 30 Jan 2021 14:13
par jmhoubre
Bonjour,

du point de vue de la maintenabilité et de la clarté, plusieurs scripts bien délimités sont généralement préférables à un gros script qui fait tout.
Par ailleurs, le gain de performance avec une seule méthode OnTriggerEnter (par exemple) par rapport à plusieurs ne doit pas être phénoménal, sauf s'il y a plusieurs centaines ou milliers de monstres.

J'aurais donc tendance à préférer plusieurs scripts.

Re: Un GameObject avec plusieurs trigger2D ?

Publié : 30 Jan 2021 14:30
par Max
Bonjour,

j'aurais tendance à dire pourquoi multiplier les GO ?
Dans les cas simples, deux Collider2D en Trigger sur ton GO devrait faire l'affaire. Et pour déterminer lequel est touché dans les fonctions de détection, comme tu le soulignes, tu peux faire appel à Collider2D.isTouching().