首页 > 代码库 > [Unity菜鸟] Character控制移动

[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. 添加角色控制器后人物下陷问题