Zone de déplacement
-
- Messages : 28
- Inscription : 08 Avr 2020 10:02
Zone de déplacement
Bonjour à tous !
Je fais un petit jeu en 3d sur Unity en multijoueur local. Je voudrais que mes personnages ne puissent pas sortir du champ de la camera (celle ci bouge constamment). Je ne sais pas comment faire .
En gros je voudrais qu'il y est comme des colliders autour du champ de vision de la caméra !
Merci pour votre aide !
Je fais un petit jeu en 3d sur Unity en multijoueur local. Je voudrais que mes personnages ne puissent pas sortir du champ de la camera (celle ci bouge constamment). Je ne sais pas comment faire .
En gros je voudrais qu'il y est comme des colliders autour du champ de vision de la caméra !
Merci pour votre aide !
Re: Zone de déplacement
Et bien je trouve tu te donne une solution tout seul, avec les collider.
Tu crée 4 gameobject avec box collider, que tu dimensionne pour former de grande et fin box, que tu place judicieusement autour de ta caméra. Commence par mettre ta cam en zéro dans tout les axe de rotation, et sert toi des vues latéral de la scène view pour bien positionner tes 4 box collider. Une fois bien placé, tu les rend enfant de la caméra et ils suivront ainsi cette derniere et delilmiteront ainsi la surface de jeux possible.
Tu crée 4 gameobject avec box collider, que tu dimensionne pour former de grande et fin box, que tu place judicieusement autour de ta caméra. Commence par mettre ta cam en zéro dans tout les axe de rotation, et sert toi des vues latéral de la scène view pour bien positionner tes 4 box collider. Une fois bien placé, tu les rend enfant de la caméra et ils suivront ainsi cette derniere et delilmiteront ainsi la surface de jeux possible.
______________________________________________________________
\_______________________ Impossible is nothing _______________________/
-
- Messages : 28
- Inscription : 08 Avr 2020 10:02
Re: Zone de déplacement
Bonjour !
J'ai fait ce que tu m'as dis avec les colliders mais ça ne m'a pas l'air très propre et ça pose problème dans mes scripts ! N'y aurait-il pas plutôt une solution qui empêche le joueur d'aller au delà des bord de l'écran mais sans être physiquement bloqué ?
Merci !
J'ai fait ce que tu m'as dis avec les colliders mais ça ne m'a pas l'air très propre et ça pose problème dans mes scripts ! N'y aurait-il pas plutôt une solution qui empêche le joueur d'aller au delà des bord de l'écran mais sans être physiquement bloqué ?
Merci !
Re: Zone de déplacement
Hello,
tu peux essayer de pondre un truc avec la fonction Renderer.isVisible (true ou false si ton mesh est visible ou pas par la camera).
tu peux essayer de pondre un truc avec la fonction Renderer.isVisible (true ou false si ton mesh est visible ou pas par la camera).
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
-
- Messages : 28
- Inscription : 08 Avr 2020 10:02
Re: Zone de déplacement
Merci pour ta réponse !
Le problème c'est que s'il n'est plus visible alors c'est trop tard.
Le problème c'est que s'il n'est plus visible alors c'est trop tard.
Re: Zone de déplacement
Salut,
tu pourrais mettre tes colliders aux limites de ta caméra en trigger et repérer quand le player entre dans le trigger
tu pourrais mettre tes colliders aux limites de ta caméra en trigger et repérer quand le player entre dans le trigger
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.
Re: Zone de déplacement
dans cas regarde du coté de Camera.WorldToScreenPoint de la doc unity. ça te permet de prendre un Vector3, comme la position d'un joueur, et d'en trouver sa position à l’écran sous forme d'un vector2.
Ensuite t'as juste a comparer si ce vetor2 est bien dans le champ de la camera :
si Vector2.x est négatif ou supérieur a Screen.width => hors champ
Si vector2.y est négatif ou supérieur à Screen.height => hors champ
Ensuite t'as juste a comparer si ce vetor2 est bien dans le champ de la camera :
si Vector2.x est négatif ou supérieur a Screen.width => hors champ
Si vector2.y est négatif ou supérieur à Screen.height => hors champ
______________________________________________________________
\_______________________ Impossible is nothing _______________________/
Re: Zone de déplacement
Ce tuto d'Unity est en 2D, mais il propose d'utiliser Cinemachine pour régler ce genre de soucis. La partie qui t'intéresse est la 5ème partie Cinemachine, en particulier le point n° 5 Camera Bounds.
Je pense que tu dois pouvoir l'adapter à la 3D et à ton souci (dans le tuto il s'agit surtout de confiner (ca y est, je l'ai dit ...) la caméra).
Je pense que tu dois pouvoir l'adapter à la 3D et à ton souci (dans le tuto il s'agit surtout de confiner (ca y est, je l'ai dit ...) la caméra).
-
- Messages : 28
- Inscription : 08 Avr 2020 10:02
Re: Zone de déplacement
Bonjour !
Merci à tous pour vos réponses ! Je vais explorer toutes ces pistes et vous dire le résultat !
Merci encore !
Merci à tous pour vos réponses ! Je vais explorer toutes ces pistes et vous dire le résultat !
Merci encore !
Re: Zone de déplacement
J'avais développé un scripte il y a quelques temps avec la même idée que djulio74, et cela fonctionnait très bien!