[Unity菜鸟] Character控制移动

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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 @   quanzhan  阅读(1286)  评论(0)    收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示