- Home /
Character controllers not colliding with each other
I'm starting to learn unity . My current project simulates a dinner party; guests walk around randomly and when they hit another guest, they stop and chat for a while before wandering off. My problem is that the guests do not detect collisions with each other. They slide around each other, and continue on.
I'm using OnControllerColliderHit to detect collisions. This triggers when hitting the walls, but not another guest.
function OnControllerColliderHit (hit : ControllerColliderHit) {
if ((hit.gameObject.tag == "guest") && (isChatting == false)) {
isChatting = true;
}
else {
newHeading();
}
}
Have I made an error, or is there some aspect of the controller/engine/script I don't understand? Or, is there a better way to do this?
Thanks
Wow, that sounds ambitious! I would love to see a picture... ;)
Answer by Julian-Glenn · Aug 07, 2010 at 02:11 PM
You will need to place another collider on each "Guess" if they are only using a character controller. Just add a capsule or box collider. Unity should ask you to add or replace and you can just add. Although for the 'Guests" I would personally not use a Character Controller.
This page has a collision action matrix that shows which colliders react with which.
The table is not laid-out very well but if you highlight the text you can make out where the columns and rows are ;)
http://unity3d.com/support/documentation/Components/class-MeshCollider.html
Indeed, using the charactercontroller is for characters that are to be controller ( $$anonymous$$oved by input etc. ) I would recommend using the $$anonymous$$ove method on the controller and set the rest to colliders only and use the CharacterController.OnControllerColliderHit method override.
Your answer
Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
How do I avoid CharacterController "sinking"? (See image) 1 Answer
problems with OnControllerColliderHit 1 Answer
Destroy character controller and instantiate new one 1 Answer
CharacterController "breaks" collision, goes haywire 2 Answers