Bonjour,
Question un peu stupide
Supposons, j'ai une scène avec un joueur, un sol, et un gameObject random par terre.
Je voudrais savoir comment faire pour que quand le joueur se rapproche de l'objet et appuie sur une touche bah il se passe quelque chose.
Merci d'avance.
[RESOLU] Comment faire un item par terre que le joueur peut ramasser ?
- boubouk50
- ModoGenereux
- Messages : 6186
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Comment faire un item par terre que le joueur peut ramasser ?
Bonjour,
Pour cela, il faut que tu ailles regarder la notion de Collider/Trigger.
Ton personnage, aura un collider (et surement un rigidBody) et ton objet au sol un collider en mode trigger.
Lorsqu'un collider entre en contact avec un trigger, des événements sont appelés, des actions sont disponibles:
Au moment de la collision, pendant toute la collision et à la fin de la collision.
Pour ton cas, tu devras activer la possibilité de ramasser cet objet pendant la collision, via OnTriggerStay ()
https://docs.unity3d.com/ScriptReference/Collider.html
Ce sont des actions basiques disponibles dans beaucoup de tutos, je te conseille d'en consulter quelques uns, dont les Unity Learn (officiels en anglais) et les scènes démo d'Unity.
Pour cela, il faut que tu ailles regarder la notion de Collider/Trigger.
Ton personnage, aura un collider (et surement un rigidBody) et ton objet au sol un collider en mode trigger.
Lorsqu'un collider entre en contact avec un trigger, des événements sont appelés, des actions sont disponibles:
Au moment de la collision, pendant toute la collision et à la fin de la collision.
Pour ton cas, tu devras activer la possibilité de ramasser cet objet pendant la collision, via OnTriggerStay ()
https://docs.unity3d.com/ScriptReference/Collider.html
Ce sont des actions basiques disponibles dans beaucoup de tutos, je te conseille d'en consulter quelques uns, dont les Unity Learn (officiels en anglais) et les scènes démo d'Unity.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Comment faire un item par terre que le joueur peut ramasser ?
Ok merci, en fait j'avais écrit un paragraphe supplémentaire apportant plus de détails et de contexte sur ma question mais j'ai pas dû bien copier/coller ma question sur le forum (j'écrivais sur tel, et je me suis envoyé la question sur mon ordi)
Enfin bref, en fait je me posais plutôt des questions vis à vis de l'optimisation.
N'est il pas lourd de mettre un OnTriggerStay() pour chaque objet qui serait par terre ?
Merci
Enfin bref, en fait je me posais plutôt des questions vis à vis de l'optimisation.
N'est il pas lourd de mettre un OnTriggerStay() pour chaque objet qui serait par terre ?
Merci
- boubouk50
- ModoGenereux
- Messages : 6186
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Comment faire un item par terre que le joueur peut ramasser ?
Si tu veux gérer cela en pur événementiel, tu peux simplement activer quelque chose au Enter et le désactiver au Exit. Dans ce cas, tu gères toi même la gestion de l'événement.
Maintenant, non ce n'est pas lourd, puisque ce sera appelé UNIQUEMENT quand il y aura une collision et comme tu peux prédéfinir les layers impactés, tu peux décider qu'il soit appelé UNIQUEMENT lors d'une collision avec le player. A priori, un seul en même temps, c'est léger par rapport à un Update qui se joue à chaque frame.
Maintenant, non ce n'est pas lourd, puisque ce sera appelé UNIQUEMENT quand il y aura une collision et comme tu peux prédéfinir les layers impactés, tu peux décider qu'il soit appelé UNIQUEMENT lors d'une collision avec le player. A priori, un seul en même temps, c'est léger par rapport à un Update qui se joue à chaque frame.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Comment faire un item par terre que le joueur peut ramasser ?
Ok merci pour ces infos !
Edit : comment on fait pour mettre un sujet en résolu svp
Edit : comment on fait pour mettre un sujet en résolu svp
- boubouk50
- ModoGenereux
- Messages : 6186
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Comment faire un item par terre que le joueur peut ramasser ?
Tu édites ton premier message et tu ajoutes [RESOLU] au début du titre/sujet. Simple.
Merci d'y penser
Merci d'y penser
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation