ok guys
i have the first person controller prefab
and there is the fps walker script attached to it
now my character is in the air with low gravity so its gliding down to the ground with a parachute
my problem is that the character is not moving in the air because of the grounded clause i want that its moving around in the air but only horizontal axes because a parachute isn't moving up so its gliding slowly down no if the parachute hits the ground (Grounded) the normal fps walker should be working
here is the script im happy if you can help me
var speed = 6.0;
var jumpSpeed = 8.0;
var gravity = 20.0;
private var moveDirection = Vector3.zero;
private var grounded : boolean = false;
function FixedUpdate() {
if (grounded) {
// We are grounded, so recalculate movedirection directly from axes
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
if (moveDirection==Vector3.zero) {
SendMessage("PlayAnimation", "idle");
}
else {
SendMessage("PlayAnimation", "walk");
}
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;
if (Input.GetButton ("Jump")) {
SendMessage("PlayAnimation", "jump");
moveDirection.y = jumpSpeed;
}
}
// Apply gravity
moveDirection.y -= gravity * Time.deltaTime;
// Move the controller
var controller : CharacterController = GetComponent(CharacterController);
var flags = controller.Move(moveDirection * Time.deltaTime);
grounded = (flags & CollisionFlags.CollidedBelow) != 0;
}
@script RequireComponent(CharacterController)