- Home /
How to make my first player controller collidable?
Hi,i made sprint script,IT WORKS PERFECT,but when i walk up to some walls or any objects..... simply i just can walk them through,when i add sprint script,it makes first person controller ignore any collisions or colliders,why?!?!?!? Can someone please fix this?!?!?! PLEASE!?!?!
var NaturalSpeed = 1;
var tempSpeed : float;
var SpeedMultiplier = 3; // for 20% speed increase while sprinting
var moveDirection : Vector3; //this determines which direction we should be moving towards
function Update()
{
moveDirection = Vector3.zero; //this rests our move direction to nothing so we wouldn't move unless movement keys were pressed
tempSpeed = NaturalSpeed; //this rests our speed back to natural speed
//this is just a simple movement check for demonstrating sprint; use your own methods of course
moveDirection.x += Input.GetAxis("Horizontal");
moveDirection.z += Input.GetAxis("Vertical");
if(Input.GetKey(KeyCode.LeftShift)) //this checks to see if the player is holding left shift
{
tempSpeed *= SpeedMultiplier; //this increases our speed by the multiplier
}
transform.Translate(moveDirection.normalized * tempSpeed * Time.deltaTime); //this moves our player to the correct direction at the determined speed (sprinted or not), smoothed over time
}
Answer by Lovrenc · Jan 04, 2013 at 02:03 PM
Use Move function of character controller script instead of just transforming your object around.
var controller : CharacterController = GetComponent(CharacterController);
controller.Move(moveDirection.normalized * tempSpeed * Time.deltaTime);
or:
GetComponent(CharacterController).Move(moveDirection.normalized * tempSpeed * Time.deltaTime);
$$anonymous$$ identifier: 'controller'.,How to Getcomponent........
still shows $$anonymous$$ identifier: 'controller',do i have to create a variable or something?
I dont know how you are using your CharacterController at all without knowing that. Post your code.
Im using CharacterController just this: http://imgur.com/xmPEU and i got fps walker script...Wich has 1064 lines... I think i have to create variable var controller : (and here have to write,that script finds character controller)
This seems to be slow, extended agonizing version of "write me a script" question.
Read some books and watch some tutorials.
Start with unity answers FAQ
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
GUI cale and position according to the actual screen resolution. 1 Answer
Raycast Destroys player. 1 Answer
How to Stop running after a few Seconds ? 1 Answer
C# Reload Script 1 Answer