Physique: Character Controller et BoxCollider
-
- Messages : 11
- Inscription : 13 Août 2017 12:46
Physique: Character Controller et BoxCollider
Bonjour à tous,
Je remonte ce topic après l'avoir lu car je rencontre également un problème avec CharacterController/Box collider. Je suis nouveau sur Unity et j'ai décidé d'apprendre l'utilisation du logiciel ainsi que l'apprentissage de la programmation en suivant des tutos vidéos. Je ne comprends donc pas encore tout le code que je recopie mais je trouve cette méthode d'apprentissage plus efficace plutôt que d'apprendre simplement du code par coeur en C# que je n'applique pas dans l'immédiat et que j'oublie après.
Pour en revenir à mon problème, voici des images pour illustrer mes propos :
J'ai mis un character controller à mon personnage et une box collider à ma plateforme :
Le problème est que quand j'appuie sur play, le personnage traverse toujours ma plateforme en tombant... voici mon script :
J'ai essayé avec une box collider normale et une 2D (car d'autres personnes avaient le même problème et conseillaient ceci) mais rien n'y fait, sur le tuto j'ai reproduit exactement la même chose que l'auteur mais la vidéo date un peu et peut être que quelque chose à changé avec les différentes maj unity.
Si quelqu'un pouvait m'éclairer, ça me débloquerait bien
Merci d'avance pour votre aide !
Je remonte ce topic après l'avoir lu car je rencontre également un problème avec CharacterController/Box collider. Je suis nouveau sur Unity et j'ai décidé d'apprendre l'utilisation du logiciel ainsi que l'apprentissage de la programmation en suivant des tutos vidéos. Je ne comprends donc pas encore tout le code que je recopie mais je trouve cette méthode d'apprentissage plus efficace plutôt que d'apprendre simplement du code par coeur en C# que je n'applique pas dans l'immédiat et que j'oublie après.
Pour en revenir à mon problème, voici des images pour illustrer mes propos :
J'ai mis un character controller à mon personnage et une box collider à ma plateforme :
Le problème est que quand j'appuie sur play, le personnage traverse toujours ma plateforme en tombant... voici mon script :
J'ai essayé avec une box collider normale et une 2D (car d'autres personnes avaient le même problème et conseillaient ceci) mais rien n'y fait, sur le tuto j'ai reproduit exactement la même chose que l'auteur mais la vidéo date un peu et peut être que quelque chose à changé avec les différentes maj unity.
Si quelqu'un pouvait m'éclairer, ça me débloquerait bien
Merci d'avance pour votre aide !
Re: Problème de débutant ?
Hello,
Premièrement il manque un composant pour gérer la physique de ton personnage.
Vu que tu contrôle les déplacements et la gravité par code, il manque un composant "Rigidbody" de type "Kinématic"
Deuxièmement, un boxcollider n'est PAS un conteneur. La tu places ton personnage dans un bloc de béton en lui disant "vas y marche !".
Si tu vx pouvoir le faire se déplacer dans ton décor, il faudra faire 4 boxcollider qui vont représenter les 2 murs, le plafond, le sol.
Et pour finir, soit tu utilises des elements 2D, soit des elements 3D, mais si tu as par exemple un rigidbody 2D il n'intéragira pas avec un box collider 3D et vice versa.
Premièrement il manque un composant pour gérer la physique de ton personnage.
Vu que tu contrôle les déplacements et la gravité par code, il manque un composant "Rigidbody" de type "Kinématic"
Deuxièmement, un boxcollider n'est PAS un conteneur. La tu places ton personnage dans un bloc de béton en lui disant "vas y marche !".
Si tu vx pouvoir le faire se déplacer dans ton décor, il faudra faire 4 boxcollider qui vont représenter les 2 murs, le plafond, le sol.
Et pour finir, soit tu utilises des elements 2D, soit des elements 3D, mais si tu as par exemple un rigidbody 2D il n'intéragira pas avec un box collider 3D et vice versa.
“La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !”
-
- Messages : 11
- Inscription : 13 Août 2017 12:46
Re: Problème de débutant ?
Salut et merci pour ta réponse!
J'ai appliqué un RigidBody a mon personnage, mais je ne peux pas apercevoir le résultat tant que je n'ai pas résolu l'autre problème de collider.
Si j'ai bien compris, si je veux garder le sol de mon background comme structure pour que mon personnage puisse courir, il faut que je découpe mon image et que j'ajoute le sol comme autre objet ? Et comment faire si je ne veux pas mettre de mur et que je veux que les limites de mon décor soit cette simple image ?
Autre question : l'image de mon background est actuellement en format .gif car elle est dotée d'une petite animation d'eau qui coule. Unity supporte-t-il ce format et cela va-t-il marcher ou faut-il que je remplace mon background au format .png?
Merci d'avance et désolé pour mon incompétence
J'ai appliqué un RigidBody a mon personnage, mais je ne peux pas apercevoir le résultat tant que je n'ai pas résolu l'autre problème de collider.
Si j'ai bien compris, si je veux garder le sol de mon background comme structure pour que mon personnage puisse courir, il faut que je découpe mon image et que j'ajoute le sol comme autre objet ? Et comment faire si je ne veux pas mettre de mur et que je veux que les limites de mon décor soit cette simple image ?
Autre question : l'image de mon background est actuellement en format .gif car elle est dotée d'une petite animation d'eau qui coule. Unity supporte-t-il ce format et cela va-t-il marcher ou faut-il que je remplace mon background au format .png?
Merci d'avance et désolé pour mon incompétence
Re: Problème de débutant ?
Coucou,
Pour faire les murs, sols et plafonds : ajouter des cubes (Menu > GameObject > 3D Object > Cube) et une fois ceux-ci positionner et dimensionner, leurs retirer leurs composants 'Mesh Renderer'.
Ainsi, leurs 'colliders' resteront actifs mais l'absence de rendu les rendra invisibles.
Ensuite, ajouter des sprites (Menu > GameObject > 2D Object > Sprite) superposées aux parois afin de préparer le rendu 2D de celles-ci.
Enfin, animer les sprites :
voir ici : Utiliser les animations
et ici : L’utilisation des Sprites et l’animation 2D
Pour faire les murs, sols et plafonds : ajouter des cubes (Menu > GameObject > 3D Object > Cube) et une fois ceux-ci positionner et dimensionner, leurs retirer leurs composants 'Mesh Renderer'.
Ainsi, leurs 'colliders' resteront actifs mais l'absence de rendu les rendra invisibles.
Ensuite, ajouter des sprites (Menu > GameObject > 2D Object > Sprite) superposées aux parois afin de préparer le rendu 2D de celles-ci.
Enfin, animer les sprites :
voir ici : Utiliser les animations
et ici : L’utilisation des Sprites et l’animation 2D
Mon jeu de développement cellulaire : MICROBIOME (encore quelques bugs...)
(merci bien à ceux qui passent mettre des étoiles ! ^^)
(merci bien à ceux qui passent mettre des étoiles ! ^^)
-
- Messages : 11
- Inscription : 13 Août 2017 12:46
Re: Problème de débutant ?
Super, merci beaucoup pour l'aide! Je bosse là dessus cet aprem et je te tiens au courant de l'avancement
Encore merci, c'est gentil !
Encore merci, c'est gentil !
-
- Messages : 11
- Inscription : 13 Août 2017 12:46
Re: Physique: Character Controller et BoxCollider
Après avoir testé la méthode avec le cube, le personnage traverse toujours la structure en tombant...
-
- Messages : 11
- Inscription : 13 Août 2017 12:46
Re: Physique: Character Controller et BoxCollider
J'ai trouvé l'erreur... dans les coordonnées de mon personnage, tout simplement. Du coup, pour info, pas besoin de mettre un cube 3D servant de box collider j'ai simplement appliqué un box collider à mon background uniquement sur le sol!
-
- Messages : 11
- Inscription : 13 Août 2017 12:46
Re: Physique: Character Controller et BoxCollider
Up de mon sujet !
Je rencontre un nouveau souci... j'ai décidé de changer le sprite de mon personnage mais le fichier d'origine est en .gif et je ne vois plus mon personnage une fois que je lance le rendu.
Avant de faire play :
Après :
Est-ce un problème de transparence du au fichier .gif ? Si oui, qu'elle serait la solution pour le convertir en .png en ayant une transparence ? (j'ai déjà essayé avec des convertisseurs sur Internet mais ça ne marche pas)
Ce que je ne comprends pas, c'est que j'aperçois bien mon sprite sur mon background avant de lancer le bouton play.
Merci d'avance pour votre aide !
Je rencontre un nouveau souci... j'ai décidé de changer le sprite de mon personnage mais le fichier d'origine est en .gif et je ne vois plus mon personnage une fois que je lance le rendu.
Avant de faire play :
Après :
Est-ce un problème de transparence du au fichier .gif ? Si oui, qu'elle serait la solution pour le convertir en .png en ayant une transparence ? (j'ai déjà essayé avec des convertisseurs sur Internet mais ça ne marche pas)
Ce que je ne comprends pas, c'est que j'aperçois bien mon sprite sur mon background avant de lancer le bouton play.
Merci d'avance pour votre aide !
-
- Messages : 11
- Inscription : 13 Août 2017 12:46
Re: Physique: Character Controller et BoxCollider
Je viens de m'apercevoir que c'était avec l'animator que mon personnage ne tombait pas droit et qu'il n'apparaissait donc plus...
Re: Physique: Character Controller et BoxCollider
Salut!
Sur l'image nommée "Après", on voit dans ton "sprite renderer", le sprite indique "Missing Sprite".
Surement une des raisons qui fait que l'on ne voit plus ton personnage.
Sur l'image nommée "Après", on voit dans ton "sprite renderer", le sprite indique "Missing Sprite".
Surement une des raisons qui fait que l'on ne voit plus ton personnage.