unity Hub 怎样设置人物在程序中的移动

一、首先打开人物所在的目录(即文件夹)后右键空白地方,然后单击create(创建)再选择c#Script即可创建出一个新的C#小程序。并修改一个你喜欢的名字。如下图所示

二、打开刚刚创建好的c#,写入代码,首先我们先将人物进行私有化(即以下的代码只对人物作用)代码如下:

public class Move : MonoBehaviour

{

    private Transform head;

    private Transform body;

    // Start is called before the first frame update

    void Start()

    {

        head = transform;

        body = transform.parent;

        Cursor.lockState = CursorLockMode.Locked;

    }

    // Update is called once per frame

下图为私有化后的截图

三、因为我们通常使用键盘上的(WASD)这四个键进行移动,所以此次我们也将这四个键设置为我们在程序中对人物移动的操作键。按一下键就会移动一下。代码如下(图中红圈代码是指赋予它在这个方向移动的力量(即速度)如果需要加快速度只需把数值调大即可,反之如需调慢速度只需调小数值)

   void Update()

    {

        float mousex = Input.GetAxis("Mouse X");

      

        if (mousex!=0){

           body.Rotate(Vector3.up, mousex * 100 * Time.deltaTime);

        }

        float mousey = Input.GetAxis("Mouse Y");

        if (mousey != 0)

        {

            head.Rotate(Vector3.left, mousey * 100 * Time.deltaTime);

        }

        if (Vector3.Angle(body.forward, head.forward)>60) {

            head.Rotate(Vector3.left, mousey * -100 * Time.deltaTime);

        }四、如果觉得每移动一下就要按一下键麻烦的话,我们可以将它设置为长按键就会一直移动奔跑。代码如下

 if (Input.GetKey(KeyCode.W)) {

            body.Translate(Vector3.forward * 5.0f * Time.deltaTime);

        }

        if (Input.GetKey(KeyCode.S))

        {

            body.Translate(Vector3.back * 5.0f * Time.deltaTime);

        }

        if (Input.GetKey(KeyCode.A))

        {

            body.Translate(Vector3.left * 5.0f * Time.deltaTime);

        }

        if (Input.GetKey(KeyCode.D))

        {

            body.Translate(Vector3.right * 5.0f * Time.deltaTime);

        }

    }

}

五、视频效果请移步到我的作品中心观看

六、今天的教程到这里就结束了 谢谢浏览!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值