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

【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:摄像机到屏幕的距离࿰

相关文章:

  • 深入解析MapReduce:大数据处理的经典范式
  • 美丽天天秒链动2+1源码(新零售商城搭建)
  • Linux架构篇、第一章_03安装部署nginx
  • Python Cookbook-6.15 实现单例模式
  • C++模板知识
  • 3033. 修改矩阵
  • 序列数据(Sequential Data)​​:按顺序排列的动态信息载体
  • LabVIEW 中VI Server导出 VI 配置
  • 数字智慧方案5868丨智慧建造总体策划方案(68页PPT)(文末有下载方式)
  • 组件通信-<slot>
  • smss源代码分析之smss!SmpLoadSubSystemsForMuSession函数分析加载csrss.exe
  • yolov5 本地训练
  • Gradio全解20——Streaming:流式传输的多媒体应用(3)——实时语音识别技术
  • HBM的哪些事
  • 当LLM遇上Agent:AI三大流派的“复仇者联盟”
  • Linux操作系统系统编程:x86-64架构下的系统调用
  • Nature子刊:大脑如何灵活处理多元数字信息
  • Laravel 12 实现 API 登录令牌认证
  • 博弈论思维——AI与思维模型【90】
  • 书生实战营之沐曦专场
  • 抢抓消费旺季:五一假期,多地党政主官调研外贸优品展销活动
  • 看纪录片抵学分,贺桂梅:纪录片是对抗低质碎片信息的好媒介
  • 贵州锦屏县委原书记舒健已任黔东南州政府办主任
  • 扬州市中医院“药膳面包”走红,内含党参、黄芪等中药材
  • 摩天大楼天津117大厦复工背后:停工近十年,未知挑战和压力仍在
  • 神舟十九号载人飞行任务取得圆满成功