当前位置:   article > 正文

Unity移动端第三人称控制器_unity第三人称控制器

unity第三人称控制器

Unity移动端第三人称控制器

1.创建物体

在这里插入图片描述
Hierarchy面板空白地方右键->3D Object创建一个Plane和一个Capsule

2.添加组件

在这里插入图片描述
鼠标单击选中Capsule
在这里插入图片描述
在右侧Inspector面板删除Capsule Collider碰撞体组件
在这里插入图片描述
添加一个Character Controller(角色控制器,自带一个碰撞体)和一个脚本ThirdPersonController(名字可以自己取)

3.编写代码

ThirdPersonController中定义变量:

public Transform cameraTransform,cameraPole;
public float moveSpeed,cameraSpeed;
public LayerMask cameraLayers;
CharacterController character;
float cameraPitch,maxDistance;
float leftId, rightId, halfWidth;
Vector2 startPos,lookInput,moveInput;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Start中初始化变量

void Start()
    {
   
        leftId = -1;
        rightId = -1;
        halfWidth = Screen.width / 2;

        character = GetComponent<CharacterController>();

        cameraPitch = cameraPole.localRotation.eulerAngles.x;
        maxDistance = cameraTransform.localPosition.z;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

创建一个函数 GetTouchInput

// 获取手指触摸的函数
void GetTouchInput()
    {
   
        //获取每一个手指的触摸信息
        foreach(Touch t in Input.touches)
        {
   
            switch (t.phase)
            {
   
                case TouchPhase.Began:
                    //点击接触
                    if (t.position.x < halfWidth && leftId == -1)
                    {
   
                        leftId = t.fingerId;
                        startPos = t.position;
                    }else if (t.position.x > halfWidth && rightId == -1)
                    {
   
                        rightId = t.fingerId;
                    }
                    break;
                case TouchPhase.Ended:
                    //手指离开
                case TouchPhase.Canceled:
                    //系统取消跟踪手指
                    if(t.fingerId == leftId)
                    {
   
                        leftId = -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
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/873889
推荐阅读
相关标签
  

闽ICP备14008679号