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

2025年最新 unityHub游戏引擎开发2d手机游戏和桌面游戏教程

设置开发编辑器 :

以下是一个简化版的移动控制代码,不依赖自定义输入配置,直接使用 Unity 新输入系统的默认绑定,并兼容手机端的 Joystick Pack 虚拟摇杆:

SimplePlayerMovement

using UnityEngine;
using UnityEngine.InputSystem;[RequireComponent(typeof(Rigidbody2D))]
public class SimplePlayerMovement : MonoBehaviour
{[Header("移动设置")]public float moveSpeed = 5f;public bool allowDiagonal = true;[Header("虚拟摇杆设置 (Joystick Pack)")]public VariableJoystick variableJoystick; // 拖入Joystick Pack的摇杆private Rigidbody2D rb;private Vector2 movement;// 输入动作private InputAction moveAction;void Awake(){rb = GetComponent<Rigidbody2D>();// 初始化默认输入动作(无需自定义配置)var inputActionMap = new InputActionMap("Player");moveAction = inputActionMap.AddAction("Move",InputActionType.Value, "<Gamepad>/leftStick",null, null, "<Keyboard>/a,<Keyboard>/d,<Keyboard>/w,<Keyboard>/s,<Keyboard>/leftArrow,<Keyboard>/rightArrow,<Keyboard>/upArrow,<Keyboard>/downArrow");inputActionMap.Enable();}void Update(){// 优先使用虚拟摇杆输入(手机端)if (variableJoystick != null){movement = variableJoystick.Direction;}// 否则使用键盘/手柄输入(PC端)else{movement = moveAction.ReadValue<Vector2>();}// 处理斜向移动限制if (!allowDiagonal && movement.sqrMagnitude > 0){if (Mathf.Abs(movement.x) > Mathf.Abs(movement.y))movement.y = 0;elsemovement.x = 0;}}void FixedUpdate(){// 应用移动rb.velocity = movement * moveSpeed;}
}

以下是一个简化版的移动控制代码,不依赖自定义输入配置,直接使用Unity新输入系统的默认绑定,并兼容手机端的Joystick Pack虚拟摇杆:


    


### 使用说明

#### 1. 准备工作
- 确保已安装 **Joystick Pack**(可在Unity Asset Store免费获取)

地址Virtual Joystick Pack | Utilities Tools | Unity Asset Store

- 确保已安装 **Input System** 包(Window > Package Manager)

搜索全包名进行安装 com.unity.inputsystem

安装完成后 重启unity 会自动 却换喂最新的Input Actions 系统 

如果如果没有切换到最新系统请配置以下选项

安装好先导入 

#### 2. 手机端设置(使用Joystick Pack)


1. 创建UI摇杆:
   - 从Joystick Pack的Prefabs中拖拽一个`Variable Joystick`到Canvas
   - 调整位置(建议左下角)和大小
   - 确保Canvas有`EventSystem`(没有的话会自动创建)

下面的设置摇杆会在手机触摸的位置出现 手指触摸到哪里,摇杆就会出现到哪里

2. 关联脚本:
   - 将`SimplePlayerMovement`脚本添加到角色
   - 在Inspector中将创建的`Variable Joystick`拖入脚本的`variableJoystick`参数框


#### 3. PC端设置(无需额外配置)
- 直接运行即可使用:
  - WASD键或方向键控制上下左右
  - 手柄左摇杆也可直接使用


#### 4. 关键特性
- 无需自定义Input Actions配置文件,代码内置默认输入绑定
- 自动优先使用虚拟摇杆输入(手机端),没有摇杆时自动切换到键盘输入(PC端)
- 可通过`allowDiagonal`开关控制是否允许斜向移动
- 适用于2D项目,自动添加Rigidbody2D组件


这种方式部署简单,无需处理复杂的输入配置,只需关联Joystick Pack的虚拟摇杆即可在手机端使用,PC端则自动支持键盘和手柄输入。

在Unity中打包项目,即将项目构建为可在目标平台运行的可执行文件或安装包,不同平台的打包步骤略有差异,以下是常见平台的打包流程:

### 一、Windows平台打包
1. **准备工作**
确保项目已经完成测试,没有明显的错误和异常。同时,关闭不必要的后台程序,以保证打包过程的顺利进行。
2. **打开Build Settings窗口**
点击菜单栏中的`File` -> `Build Settings`,打开构建设置窗口。
3. **选择目标平台**
在“Platform”列表中,选择`PC, Mac & Linux Standalone`,然后点击`Switch Platform` 按钮,Unity会自动切换项目的平台设置(如果是首次切换,可能需要一些时间来导入相关资源和配置)。
4. **设置打包选项**
    - **Player Settings**:点击`Player Settings`按钮,进入播放器设置界面。在这里可以设置游戏的图标(`Icon`)、名称(`Product Name`)、版本号(`Version`)、分辨率、图形质量等各种参数。
    - **Build Options**:在Build Settings窗口中,还可以设置其他构建选项,比如`Development Build`(开发构建,会包含调试信息,方便测试)、`Autoconnect Profiler`(自动连接性能分析器)等。如果是正式发布,一般不勾选`Development Build`。
5. **选择输出路径**
点击`Build`按钮(如果想直接构建并运行,点击`Build And Run`),在弹出的文件浏览器中,选择一个文件夹来存放打包后的文件。
6. **开始打包**
确认输出路径后,点击`Save`,Unity就会开始打包项目。打包时间取决于项目的大小和复杂程度,完成后,在指定的输出路径下会生成可执行文件(`.exe`)以及相关的资源文件夹。

### 二、Android平台打包
1. **安装必要的软件和组件**
    - **JDK**:确保已经安装Java Development Kit,并且配置好环境变量。
    - **Android SDK**:安装Android Software Development Kit,并在Unity中配置好SDK路径(`Edit` -> `Preferences` -> `External Tools`,设置`Android SDK`路径)。
    - **NDK**:下载并配置好Android NDK,同样在`External Tools`中设置`Android NDK`路径。

2. **打开Build Settings窗口**
和Windows平台一样,点击`File` -> `Build Settings`打开构建设置窗口。
3. **选择目标平台**
在“Platform”列表中选择`Android`,然后点击`Switch Platform` 按钮。
4. **设置打包选项**
    - **Player Settings**:进入播放器设置界面,设置游戏图标、名称、版本号等基本信息。此外,还需要设置`Package Name`(包名,格式通常为`com.公司名.游戏名`,是应用在Android系统中的唯一标识)、`Minimum API Level`(最低支持的Android API版本)等参数。
    - **Other Settings**:在这部分可以设置屏幕方向(`Orientation`)、图形API(一般选择`OpenGLES3`)等。
    - **Publishing Settings**:点击`Publishing Settings`,配置Keystore(用于签名应用,发布到应用商店必须进行签名),可以选择创建新的Keystore或者使用已有的。
5. **选择输出路径**
点击`Build`按钮(或`Build And Run`),在弹出的文件浏览器中选择存放APK文件的路径。
6. **开始打包**
确认路径后,点击`Save`,Unity会开始构建Android项目,完成后会生成APK文件(如果选择了`Build And Run`,会自动安装并运行在连接的Android设备或模拟器上)。

### 三、iOS平台打包
1. **安装必要的软件和组件**
    - **Mac电脑**:iOS打包必须在Mac电脑上进行,并且安装了最新版本的Xcode。
    - **配置证书和描述文件**:在Apple Developer网站上创建并下载开发者证书、描述文件等,然后在Xcode中进行配置。
2. **打开Build Settings窗口**
点击`File` -> `Build Settings`。
3. **选择目标平台**
在“Platform”列表中选择`iOS`,点击`Switch Platform` 按钮。
4. **设置打包选项**
    - **Player Settings**:设置游戏图标、名称、版本号等,`Bundle Identifier`(包标识符,类似于Android的包名,是iOS应用的唯一标识)等参数必须正确设置。
    - **Other Settings**:设置屏幕方向、图形API等。
    - **Publishing Settings**:在这配置签名相关设置,选择之前创建和配置好的证书和描述文件。
5. **选择输出路径**
点击`Build`按钮,选择一个文件夹来存放打包后的Xcode项目文件。
6. **后续处理**
Unity打包完成后会生成一个Xcode项目,打开该项目,在Xcode中进行一些最后的设置和检查,然后使用Xcode的`Archive`功能来生成最终的IPA文件,用于发布到App Store或进行企业内部分发。
 
在打包过程中,如果遇到错误,可查看Unity的Console窗口或相关构建日志,根据错误提示来排查和解决问题。 

关于Android SDK Build Tools Install failed: Installation Failed 安装下载失败的终极解决方案

最低22 最高 30 可以 unity 对应哪些版本的构建工具

当 Unity 项目的Minimum API Level 设为 22(Android 5.1)、Target API Level 设为 30(Android 11)时,对应的构建工具版本选择如下:

一、核心工具版本要求

  1. Android SDK Build Tools
    推荐使用 30.0.3(与 Target API Level 30 完全匹配,兼容性最佳)。

    • 原因:Build Tools 版本需≥Target API Level 对应的版本,30.0.3 是 API 30 的官方稳定版本,支持所有 Android 11 的特性,同时向下兼容 Minimum API 22。
    • 可选版本:30.0.0~30.0.4 之间的版本(均为 API 30 的配套工具),但 30.0.3 经过大量项目验证,稳定性最优。
  2. Android SDK Platform Tools
    必须≥32.0.0(解决之前提到的 “version 0.0 < 32.0.0” 错误)。
    推荐使用 34.0.4(最新稳定版),兼容 API 22~30 的所有平台,且修复了旧版本的部分兼容性问题。

  3. Android SDK Command-line Tools
    推荐 6.0 版本 或更高(如 10.0),需与 SDK 整体版本匹配。

    • 确保安装后能在SDK目录/cmdline-tools/latest/bin找到sdkmanager.bat,避免 Unity 检测失败。

二、Unity 版本兼容性

以上工具版本组合适用于 Unity 2019.4 及以上版本(包括 2020、2021、2022 等):

  • Unity 2019.4:对 API 30 的支持需通过补丁更新,建议升级到 2019.4.30f1 及以上。
  • Unity 2020.3 及更高:原生支持 API 30,无需额外配置,直接使用上述工具版本即可。

三、安装与配置要点

  1. 确保 SDK 目录下存在:

    • platforms/android-22(API 22 的系统镜像)
    • platforms/android-30(API 30 的系统镜像)
    • build-tools/30.0.3(对应版本的构建工具)
  2. 在 Unity 的Player Settings中:

    • 确认Minimum API Level = Android 5.1 (API Level 22)
    • 确认Target API Level = Android 11 (API Level 30)

按以上配置,既能保证应用在 Android 5.1~11 的设备上正常运行,又能满足大多数应用商店的上架要求(Target API 30 目前仍被主流平台支持),同时避免版本不匹配导致的构建错误。

上面的所有依赖请在 Android studio中下载匹配对应版本,重要,所有的版本都要一 一匹配

请选择自己Android studio 的SDK安装目录

下面目录是显示所有依赖文件

新建文件 -------->>>> bemulator目录记录与tools切换

记录原Android studio 开发环境中的bemulator 文件名

将bemulator虚拟机文件夹改名为tools 以适配unity 依赖文件的需求

将SDK文件夹 中的cmdline-tools 命令行 工具复制到

SDK目录中的build-tools 的对应API级别的30.0.3的目录中去

D:\development\Android\sdk\build-tools\30.0.3

让后到file 菜单中的Build ------> settings  

点击Build And Run 构建运行就可以了

如果你用打开了开发者模式的 手机, 数据线 电脑连接到一起,unity会将这个apk文件安装到手机

我们也可以通过手机 unity Remote APP (这个app请搜索百度自行下载)连接数据线到笔记本电脑 进行实时传输测试

注意连接测试的时候请打开手机开发者模式,进行测试。

如果你的游戏人物图层显示不出来 请检查图层问题 数越高 在图层上越置顶

如果你打包到手机上面显示不出人物,那么请点击 添加和项目中匹配的长江,将不匹配的场景取消勾选

整理不易,更多游戏开发教程请持续关注CSDN王家视频教程图书馆,点赞+关注+转发 亲!!!!!!!!

http://www.xdnf.cn/news/1445419.html

相关文章:

  • 使用飞算JavaAI快速搭建酒店管理系统
  • 部署MYSQL主从同步超详细过程
  • bootloader相关实现
  • 逻辑回归 vs 支持向量机 vs 随机森林:哪个更适合小数据集?
  • 中通笔试ShowMeBug编程题复盘
  • 免费的PDF工具箱软件,免费PDF转word,PDF合并,PDF24下载,24个功能
  • Corona 13 渲染器安装与使用教程(适用于3ds Max 2016–2026)
  • 408考研——单链表代码题常见套路总结
  • 有奖直播 | 如何高效测试ADC/DAC?德思特一站式方案,让测试效率倍速提升!
  • 【Linux操作系统】简学深悟启示录:进程控制
  • 1983:ARPANET向互联网的转变
  • test命令与参数
  • Kotlin编程学习记录2
  • Linux `epoll` 机制的入口——`epoll_create`函数
  • 自由学习记录(92)
  • 图像正向扭曲反向扭曲
  • 关于缓存的一些思考?
  • 从Java全栈到前端框架:一次真实的面试对话
  • 自动化运维-ansible中对于大项目的管理
  • HTML第八课:HTML4和HTML5的区别
  • 网络通信与协议栈 -- OSI,TCP/IP模型,协议族,UDP编程
  • Linux 网络编程中核心函数`recv`。
  • Qt6用Chart模块做数据可视化?别再用老套路,看看这套35张图背后的秘密
  • MySQL :索引原理
  • 【面试题】BPE和WordPiece的区别?
  • Anaconda3出现Fatal error in launcher: Unable to create process using.....问题
  • STM32CubeMX + HAL 库:基于 I²C 通信的 BMP280气压海拔测量
  • 【超详细】别再看零散的教程了!一篇搞定Gitee从注册、配置到代码上传与管理(内含避坑指南最佳实践)
  • PS大神级AI建模技巧!效率翻倍工作流,悄悄收藏!
  • Wan系列模型解析--详细架构图