美文网首页
Unity 编写入门项目 roll a ball 之 玩家移动(

Unity 编写入门项目 roll a ball 之 玩家移动(

作者: 简栋梁 | 来源:发表于2021-08-22 15:49 被阅读0次

安装插件 Input System


激活插件 Input System,并保存项目(IDE 自动重启)


在 Assert 目录下,新建 Input、Script 子目录


为球体添加 Rigidbody、Player Input 组件


在 Input 目录下,新建 input action 文件,并命名为 InputAction


在 Script 目录下,新建 script 文件,并命名为 PlayerController


绑定 input action 至球体

图片.png

双击打开、编辑脚本(PlayerController.cs)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;

public class PlayerController : MonoBehaviour
{

    public float speed = 10;    // 公开属性,方便在 IDE 修改速度值
    private Rigidbody rb;
    private float movementX = 0;
    private float movementY = 0;

    // 生命周期函数
    // 触发时机:物体被加载到场景时
    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    // 生命周期函数
    // 触发时机:物体进行物理模拟时
    void FixedUpdate()
    {
        // 组装 3D 向量
        Vector3 vector3D = new Vector3(movementX, 0.0f, movementY);

        // 为刚体施加力
        rb.AddForce(vector3D * speed);
    }

    // 事件函数,监听移动输入
    void OnMove(InputValue movement)
    {
        Vector2 vector2D = movement.Get<Vector2>();
        movementX = vector2D.x;
        movementY = vector2D.y;
    }
}

绑定脚本至球体


运行项目

IDE 默认移动按键(WSAD / 方向键)

相关文章

网友评论

      本文标题:Unity 编写入门项目 roll a ball 之 玩家移动(

      本文链接:https://www.haomeiwen.com/subject/honciltx.html