Bloquer le joueur dans un objet

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Coloniseur
Messages : 15
Inscription : 12 Mars 2015 11:01

Bloquer le joueur dans un objet

Message par Coloniseur » 20 Avr 2015 15:11

Yay tout le monde!
Voilà, aujourd'hui, j'essaye de créer une zone de jeu. Je m'explique, je dois mettre en place une zone de jeu, dans mon projet, dont le joueur ne peut pas sortir.
Je voulais que cette zone de jeu soit une sphère, alors, j'ai essayé de créer une sphère sur mon joueur, de désactiver le "is trigger" du collider, mais bien sûr c'est pas aussi simple que ça!
Je suis sûr que c'est très con mais j'arrive pas à trouver la solution.
J'espère qu'un de vous pourra m'aider.
Merciiiiiiiiiiiiiiiiiiiiiii :D

Avatar de l’utilisateur
darkloy
Messages : 290
Inscription : 23 Mars 2011 09:36
Contact :

Re: Bloquer le joueur dans un objet

Message par darkloy » 20 Avr 2015 16:20

Salut,

Sinon tu défini un gameObject dans ta scène comme point central et si la distance (Vector3.Distance par exemple) entre ton joueur et le point central dépasse une valeur définie, tu le bloque.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6222
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Bloquer le joueur dans un objet

Message par boubouk50 » 20 Avr 2015 16:52

Si tu veux bloquer ton personnage, il ne faut pas mettre le collider sur ton joueur, mais sur un GameObject vide indépendant dans la scène. Ton joueur pourra donc rentrer en collision avec et sera encapsulé.
"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

Coloniseur
Messages : 15
Inscription : 12 Mars 2015 11:01

Re: Bloquer le joueur dans un objet

Message par Coloniseur » 20 Avr 2015 19:12

darkloy a écrit :Salut,

Sinon tu défini un gameObject dans ta scène comme point central et si la distance (Vector3.Distance par exemple) entre ton joueur et le point central dépasse une valeur définie, tu le bloque.
C'est pas con comme idée mais je trouve ça un peu barbare quand même :roll:
boubouk50 a écrit :Si tu veux bloquer ton personnage, il ne faut pas mettre le collider sur ton joueur, mais sur un GameObject vide indépendant dans la scène. Ton joueur pourra donc rentrer en collision avec et sera encapsulé.
J'ai besoin d'un collider pour empêcher le joueur de rentrer dans les objets basique mais en plus de cela je voudrais rajouter une zone en dôme qui définirais la zone de jeu. Exemple dans un jeu de tire, si tu sort de la map, le jeu le détecte et tu meurt au bout de quelques secondes.
Ah moins que je n'ai pas bien compris se que tu disais hein ^^.
Le problème c'est que je gère bien les collisions basique y à pas de soucis, mais j'aimerais trouver une technique pour bloquer un joueur dans un objet (ici une sphère). Le problème c'est que les objets sont considéré comme "plein", si je spawn le joueur dedans, il est expulsé :)

Merci à vous deux :)

Idolo
Messages : 89
Inscription : 11 Mars 2015 10:16

Re: Bloquer le joueur dans un objet

Message par Idolo » 20 Avr 2015 19:57

Avec un mesh collider tu peux rester dans la sphére(tu n'ne sera pas expulsé), par contre je crois que tu pourra sortir, mais pas re-rentrer, je sais pas si ça peut t'aider de savoir ça mdr.

Coloniseur
Messages : 15
Inscription : 12 Mars 2015 11:01

Re: Bloquer le joueur dans un objet

Message par Coloniseur » 20 Avr 2015 21:24

Ahah non mais merci ;)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6222
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Bloquer le joueur dans un objet

Message par boubouk50 » 21 Avr 2015 09:30

Tu peux définir un dôme invisible avec un MeshCollider. Quand tu en sors, ton joueur ne seras plus dans la zone définie, et grâce à OnTriggerExit() et tu pourras en faire ce que tu veux.
"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

Coloniseur
Messages : 15
Inscription : 12 Mars 2015 11:01

Re: Bloquer le joueur dans un objet

Message par Coloniseur » 21 Avr 2015 11:26

Donc c'est comme ça que tu ferais? Ouais effectivement c'est pas bête :)
Je me demandais juste si il y avait déjà un truc prévu dans Unity pour gérer ce genre de choses (ex: physique de collision). Quoique je peux me coder cette fonction à partir de ton idée :)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6222
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Bloquer le joueur dans un objet

Message par boubouk50 » 21 Avr 2015 11:36

C'est déjà présent dans Unity. Il te faut juste un mesh qui fait le contour de ta zone à partir d'un logiciel 3D.
"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

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6222
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Bloquer le joueur dans un objet

Message par boubouk50 » 26 Avr 2015 15:23

Si tu ne touches absolument pas à la 3D, tu peux gérer ton dome via les primitives de Unity (Sphere, box, ...), tu leur appliques un Collider (s'il n'est pas appliqué de base) et tu décoches le renderer pour qu'il ne soit pas rendu mais actif.
Sinon, y'a surement quelqu'un dans ton école de Dev qui a dû toucher à la 3D au moins une fois dans sa vie et qui pourra surement te faire ça rapidement.
"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

Répondre

Revenir vers « Scripting »