【Unity3D日常开发】(一)实现角色移动行走之CharacterController组件

推荐阅读

大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。

一、前言

今天就分享一下如何让主角移动的脚本。

需要用到Unity 的CharacterController组件控制行走。

效果图:
在这里插入图片描述

二、实现

(1)新建一个Plane作为地面:
在这里插入图片描述
(2)让摄像机正对着地面,可以使用快捷键Ctrl+Shift+F,让摄像机快速对齐到屏幕:
在这里插入图片描述
(3)新建一个胶囊体,添加CharacterController组件:
在这里插入图片描述

在这里插入图片描述
(4)新建脚本PlayerMove.cs,编辑脚本:

using UnityEngine;

public class PlayerMove : MonoBehaviour
{
    private CharacterController cc;
    public float speed = 4;

    void Start()
    {
        cc = GetComponent<CharacterController>();
    }

    void Update()
    {
        float h = Input.GetAxis("Horizontal");
        float v = Input.GetAxis("Vertical");
        if (Mathf.Abs(h) > 0.1f || Mathf.Abs(v) > 0.1)
        {
            Vector3 targetDir = new Vector3(h, 0, v);
            transform.LookAt(targetDir + transform.position);
            cc.SimpleMove(transform.forward * speed);
        }
    }
}

脚本解析:

1、使用Input.GetAxis(“Horizontal”) 和 "Vertical"得到键盘(操纵杆)输入的垂直和横向的值
2、使用CharacterController.SimpleMove(Vector3)设置物体运动的方向和速度
3、targetDir 是键盘输入之后获取到的方向,将目标用SimpleMove方法向获取到方向移动
4、transform.lookat 是让目标旋转到获取到的方向
5、transform.forward 是让目标向正前方移动

(4)将PlayMove脚本,附加到胶囊体上:
在这里插入图片描述
(5)运行程序,点击WSAD即可移动:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恬静的小魔龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值