Unity移动端第三人称控制器

本文介绍了如何在Unity中创建移动端的第三人称控制器。首先在Hierarchy面板创建Plane和Capsule,然后删除Capsule的原始Collider并添加Character Controller及ThirdPersonController脚本。接着,详细讲解了代码编写,包括变量定义、初始化、函数创建等。最后,调整Capsule和相机的位置与旋转,完成设置后即可编译为apk运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;

Start中初始化变量

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

        character = GetComponent<CharacterController>();

        cameraPitch = cameraPole.localRotation.eulerAngles.x;
        maxDistance = cameraTransform.localPosition.z;
    }

创建一个函数 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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值