Character Controller ou RigidBody ?

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Warth
Messages : 8
Inscription : 25 Déc 2016 22:02

Character Controller ou RigidBody ?

Message par Warth » 02 Jan 2017 22:10

Bonjour,

Je réalise actuellement un FPS pour me familiariser avec Unity et j'ai notamment implémenté les mouvements du joueur à l'aide d'un RigidBody.

Il saute et court dans tous les sens, mais maintenant je veux le faire s'accroupir et pour ce faire, je me suis aperçu qu'il était plutôt conseillé d'utiliser un Character Controller plutôt qu'un RigidBody pour implémenter le player. Est-ce exact ?

En voulant remplacer mon RigidBody par un character Controller, il passe à travers de mes décors 3D, alors que ceux-ci disposent bien d'un mesh collider. Je ne comprends pas pourquoi ?

Merci de vos lumières,

Bonne soirée,

Warth.

Avatar de l’utilisateur
Iwa
Messages : 1131
Inscription : 25 Avr 2012 16:20
Contact :

Re: Character Controller ou RigidBody ?

Message par Iwa » 03 Jan 2017 11:56

Salut Warth,

Un Character Controller et un Rigidbody sont deux éléments distincts : l'un est en effet particulier à un personnage mais ne gère pas la physique tandis que l'autre est un component particulier pour donner un objet la capacité d'avoir de la physique. Du coup pourquoi ne pas mettre les deux : à priori le Rigidbody est assez violent dans son comportement physique, donnant au personnage des arrêts ou des réactions trop brutales. Un Character Controller appelle à gérer ta Physique toi même à l'aide des fonctions qu'ils t'offrent du type isGrounded...

Mais du coup c'est normal que ton Character Controller te laisse traverser les murs et autres objets, c'est qu'il ne sait pas ce qu'il doit faire en cas de collision, c'est à toi de lui dire ;).
"N'est stupide que la stupidité Monsieur..." - Forest Gump
... sauf si tu lis pas ça :)

Si tu as tout ce qu'il te faut, merci de penser à basculer ton sujet en [RESOLU] en éditant ton tout premier post ;)

Répondre

Revenir vers « Unity le logiciel »