当前位置: 首页 > ai >正文

【Unity 游戏开发】角色控制模块技术要点拆解

文章目录

    • 1️⃣ 基础概念
      • ✅ 坐标系
      • ✅四大坐标系分类与特性
      • ✅ 按键检测
      • **按键状态检测函数**
        • `Input.GetKey(KeyCode key)`
        • `Input.GetKeyDown(KeyCode key)`
        • `Input.GetKeyUp(KeyCode key)`
      • **轴输入检测函数**
        • `Input.GetAxis(string axisName)`
        • `Input.GetAxisRaw(string axisName)`
      • **鼠标输入检测函数**
      • **触摸输入检测(移动端)**
    • 2️⃣ 角色移动实现
      • ✅ 创建Scene
      • ✅ 平滑处理
      • ✅ 编码控制Player

1️⃣ 基础概念

围绕Unity跨平台特性与控制器适配展开基础场景搭建

✅ 坐标系

Unity 采用 右手坐标系(Right-Handed Coordinate System),默认轴向定义为:

  • X 轴:向右(Right)
  • Y 轴:向上(Up)
  • Z 轴:向前(Forward,指向屏幕外侧)

坐标系是所有物体位置、旋转、缩放的基础,理解其特性是实现精准场景搭建与物体控制的关键。

但是本例子中,我们以跑步类游戏为原型,以x正值为前进方向,z轴正方形为左,如下图:
在这里插入图片描述

✅四大坐标系分类与特性

  1. 世界坐标系(World Coordinate System)

全局绝对坐标,以场景原点(0,0,0)为中心

  • 轴向:X(右)、Y(上)、Z(前)

  • 应用场景

    • 物体在场景中的绝对位置(Transform.position
  • 摄像机视角计算(如 Camera.main.transform.position

    • 物理系统碰撞检测(刚体位置基于世界坐标)
// 获取物体世界坐标  
Vector3 worldPos = transform.position;  
// 设置物体沿世界 Z 轴移动  
transform.Translate(Vector3.forward * speed * Time.deltaTime);  
  1. 局部坐标系(Local/Parent Coordinate System)

相对于父物体的相对坐标,原点为物体自身枢轴点(Pivot)

  • 轴向:随父物体旋转而变化,Transform.localPosition 表示相对于父物体的位置

  • 应用场景

    • 子物体相对于父物体的位置调整(如角色手臂相对于身体的摆动)
  • 物体自身方向移动(Transform.forward 表示物体局部向前方向)

  • 示例

  // 获取物体相对于父物体的位置  Vector3 localPos = transform.localPosition;  
// 沿物体自身前方移动(不考虑世界坐标系方向)  transform.Translate(Vector3.forward * speed * Time.deltaTime, Space.Self);  
  1. 屏幕坐标系(Screen Coordinate System)

以屏幕像素为单位的 2D 坐标,原点位于屏幕左下角

  • 轴向

    • X:向右(范围:0 ~ 屏幕宽度)
  • Y:向上(范围:0 ~ 屏幕高度)

    • Z:摄像机到屏幕的距离࿰
http://www.xdnf.cn/news/3379.html

相关文章:

  • 详细介绍Python-pandas-DataFrame全部 *功能* 函数
  • 【人工智能】图神经网络(GNN)的推理方法
  • 模型之FIM(Fill-In-the-Middle)补全
  • ADG网络故障恢复演练
  • tiktok web X-Bogus X-Gnarly 分析
  • FreeRTOS任务管理与通信机制详解
  • IPD研学:76页页基于IPD思想-华为需求管理培训方案【附全文阅读】
  • 初学python的我开始Leetcode题8-3
  • 第T10周:数据增强
  • python类私有变量
  • 【LeetCode 热题 100】3.无重复字符的最长子串:详解滑动窗口解法
  • 第3篇:请求参数处理与数据校验
  • [vscode]全局配置nim缩进
  • synchronized与Lock深度对比
  • 新能源行业供应链规划及集成计划报告(95页PPT)(文末有下载方式)
  • 2025五一杯数学建模C题:社交媒体平台用户分析问题;思路分析+模型代码
  • 嵌入式C语言的运算符与输入输出
  • 方案精读:58页华为:全面预算管理与实践【附全文阅读】
  • 补4月30日
  • python310 安装 tensorflow-gpu2.10
  • 内网穿透系列二:使用cpolar公开一个本地Web站点到公网
  • 补题:K - Magic Tree (Gym - 105231K)
  • Java 期中考试试题考点剖析
  • jupyter notebook汉化教程
  • 打包 Python 项目为 Windows 可执行文件:高效部署指南
  • 题解:CF1398D Colored Rectangles
  • 【一】 基本概念与应用领域【数字图像处理】
  • Python基本语法(控制语句)
  • Spring IoC容器的设计与实现
  • ERP系统(技术面)知识积累