[Unity菜鸟] Character控制移动

1. 给角色加角色控制器组件,然后用以下代码可以控制角色移动和跳跃

    float  speed  = 6.0f;
    float jumpSpeed  = 8.0f;
    float gravity  = 20.0f;

    private Vector3 moveDirection = Vector3.zero;

    void Start()
    {
       // gameObject.rigidbody = false;
    }
    void Update()
    {
        CharacterController controller = GetComponent<CharacterController>();

        if(controller.isGrounded)
        {
	        moveDirection =new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); //Allows for player input
	        moveDirection = transform.TransformDirection(moveDirection); //How to move
	        moveDirection *= speed; //How fast to move
	
	        if(Input.GetButton("Jump"))
	        {
		        moveDirection.y = jumpSpeed;
	        }
        }
        //Apply gravity
        moveDirection.y -= gravity * Time.deltaTime;

        //Move the controller
        controller.Move(moveDirection * Time.deltaTime);	
	
    }

 

2. 添加角色控制器后人物下陷问题

posted @ 2014-06-30 15:53  quanzhan  阅读(1281)  评论(0编辑  收藏  举报