- Home /
How to get the first person controller to collide with an animated object?
I have a spinning blade in my game and the when the first person controller touches the animated blade. it doesn't collide with the blade therefore it doesn't move. can anyone tell how to fix this?
Answer by gsoft9999 · Feb 14, 2013 at 11:40 PM
you would need to create your own script to move your player. if your using the pre made character controller script then it will not work because character controller does t use gravity all it uses is detection if there are objects in front of it or below therefore it does t use gravity to move. one of the ways to do that is to make your own script that useses rigidbody to move but this is going to use more processing power.
this is my java script:
//start
var moveSpeed : float; var rotateSpeed : float; var jumpHeight : float;
function Update () { transform.Translate(Input.GetAxis("Horizontal")*moveSpeed*Time.deltaTime,0,Input.GetAxis("Vertical")*moveSpeed*Time.deltaTime); if(Input.GetButtonDown("Jump")){ rigidbody.velocity.y+=jumpHeight; } }
//end
so if your new to unity then look for your project panel and there should be a button named create click it and then click on javascript. this will create a new java script open it and paste the code above
@gsoft9999 i tried what you said but the player just went through the walls. and when i turned on the rigidbody the player went through the floor aswell.
you need to add collider components. Click on game object, click add component (bottom right by default), physics, mesh something (I believe mesh collider). you need that for all objects. If you want your person to have a certain shaped collider, use something other than mesh.
Your answer
Follow this Question
Related Questions
How to make the animation collide with walls 1 Answer
Why won't standart FirstPersonController accept new position? 2 Answers
Sinusoidal move problem 1 Answer
Collisions with an animated character 1 Answer
Attack While Running 1 Answer