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.pswp.cn/bicheng/95537.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/95537.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/95537.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SuperMap GIS基礎產品FAQ集錦(20250901)

一、SuperMap iDesktopX 問題1&#xff1a;咨詢MapGIS數據遷移功能是否支持MapGIS 10版本&#xff0c;在遷移10版本的符號庫時卡在0%并報錯“升級6x系統庫失敗”。 11.3.0【問題原因】客戶使用問題&#xff0c;mapgis6.7里面工程文件和符號庫之前沒有綁定關系&#xff0c;mapgi…

react-native-reanimated-carousel的API記錄

?核心屬性??data?類型: Array<any>必填&#xff0c;輪播數據源&#xff0c;支持任意類型數據。?renderItem?類型: ({ item, index }) > React.ReactNode必填&#xff0c;自定義卡片渲染函數&#xff0c;參數包含當前項和索引。?width/height?類型: number控制…

TypeScript 泛型入門(新手友好、完整詳解)

目標讀者&#xff1a;剛學 TS 的前端開發者&#xff0c;或希望把泛型用到實際工程&#xff08;請求封裝、組件復用&#xff09;中的同學。目錄 為什么需要泛型&#xff08;直觀動機&#xff09;基本語法與例子&#xff08;函數、接口、類&#xff09;泛型約束&#xff08;exten…

Linux ARP老化機制/探測機制/ip neigh使用

文章目錄1. ARP狀態機1.1 ARP狀態類型1.2 狀態轉換圖2. 超時時間與參數2.1 主要超時參數2.1.1 基礎時間參數2.1.2 探測相關參數2.1.3 垃圾回收參數3. 主機發送ARP報文的時機3.1 發送數據包時發現ARP緩存中沒有目標IP的MAC地址3.2 ARP條目進入STALE狀態后需要發送數據3.3 定期維…

便攜式顯示器怎么選?:6大關鍵指標全解析

地鐵通勤路上&#xff0c;程序員小陳掏出背包里的便攜屏&#xff0c;連接手機即刻擴展出第二個工作窗口&#xff0c;趕在上班前修復了緊急bug&#xff1b;咖啡廳里&#xff0c;設計師阿琳用筆記本加便攜屏的雙屏組合&#xff0c;一邊參看客戶brief一邊修改方案&#xff0c;效率…

以太坊網絡

以太坊的網絡和以太網是兩個完全不同的概念&#xff0c;雖然它們的名稱聽起來相似&#xff0c;但它們屬于不同的技術領域。以太坊網絡&#xff08;Ethereum Network&#xff09;領域&#xff1a;區塊鏈和加密貨幣定義&#xff1a;以太坊是一個開源區塊鏈平臺&#xff0c;支持智…

nano banana官方最強Prompt模板來了!六大場景模板詳解

最近&#xff0c;相信大家的朋友圈和社交媒體都被一個叫nano banana的AI圖像生成工具刷屏了。從精致的手辦模型到名畫人物穿越&#xff0c;再到中土世界場景還原&#xff0c;nano banana已然成為了最火爆的“整活工具之一。剛剛&#xff0c;谷歌為nano banana推出了官方Prompt模…

LeetCode 2825.循環增長使字符串子序列等于另一個字符串

給你一個下標從 0 開始的字符串 str1 和 str2 。 一次操作中&#xff0c;你選擇 str1 中的若干下標。對于選中的每一個下標 i &#xff0c;你將 str1[i] 循環 遞增&#xff0c;變成下一個字符。也就是說 ‘a’ 變成 ‘b’ &#xff0c;‘b’ 變成 ‘c’ &#xff0c;以此類推&a…

【無人機】1.編譯betaflight和cleanflight的固件

在2023年&#xff0c;betaflight騰飛&#xff0c;而cleanflight已經結束更新&#xff0c;但是用cleanflight的原因是因為他最后版本支持stm32f103系列。不用betaflight因為手頭還沒有f405和f411&#xff0c;只有一個不支持的f407和f401&#xff0c;所以。。接下來開始步驟&…

刻意練習理論

刻意練習理論 一、理論概述 刻意練習&#xff08;Deliberate Practice&#xff09;是由心理學家安德斯艾利克森&#xff08;Anders Ericsson&#xff09;提出的一種系統化學習方法&#xff0c;核心觀點是卓越并非源于天賦&#xff0c;而是通過針對性訓練獲得。其理論基礎來自對…

【FastDDS】Layer DDS之Domain ( 04-DomainParticipantFactory)

Fast DDS 域參與者工廠&#xff08;DomainParticipantFactory&#xff09;詳解 一、域參與者工廠&#xff08;DomainParticipantFactory&#xff09;基礎定義 域參與者工廠&#xff08;DomainParticipantFactory&#xff09;的唯一作用是實現域參與者&#xff08;DomainPartici…

樹莓集團建數字產業學院:產教融合強化成渝人才鏈與產業鏈銜接

成渝地區雙城經濟圈建設是國家重大發展戰略&#xff0c;而人才鏈與產業鏈的有效銜接&#xff0c;是推動成渝地區產業高質量發展的關鍵。樹莓集團順應時代發展需求&#xff0c;搭建數字產業學院&#xff0c;以產教融合為紐帶&#xff0c;不斷強化成渝人才鏈與產業鏈的銜接&#…

在 ASP.NET 8 WebAPI 中使用不同的提供程序驗證多個令牌(Token)及常見問題解答

介紹作為 ASP.NET 框架的最新版本&#xff0c;ASP.NET 8提供了強大的功能&#xff0c;可用于構建安全且可擴展的 Web API。API 開發的一個關鍵方面是身份驗證&#xff0c;它確保只有授權用戶或服務才能訪問受保護的資源。在本文中&#xff0c;我們將探討如何在 ASP.NET 8 API 中…

工業相機為啥丟包?黑條 / 撕裂的原因 + 解決辦法,一看就懂

工業相機為啥丟包&#xff1f;黑條/撕裂的原因解決辦法&#xff0c;一看就懂 工業相機拍圖時出現黑條、撕裂、花屏&#xff0c;別急著換設備——大概率是“數據丟包”在搞鬼。尤其是高頻率、高分辨率采圖時&#xff0c;數據傳輸稍出問題&#xff0c;圖像就會出故障。今天用“快…

【IQA技術專題】NIQE代碼講解

本文是對NIQE圖像質量評價指標的代碼解讀&#xff0c;原文解讀請看NIQE文章講解。 本文的代碼來源于IQA-Pytorch工程。 1、原文概要 NIQE實現了無參考的圖像質量評價指標&#xff0c;可以有效地對圖像的感知&#xff08;Fidelity&#xff09;質量進行評估。本文提出了一種完全…

配置時鐘分頻與倍頻

在STM32微控制器中&#xff0c;“配置時鐘分頻與倍頻”是一個關鍵步驟&#xff0c;它允許開發者根據應用需求調整系統時鐘的頻率。以下是對這一概念的詳細解釋&#xff1a;時鐘源與基礎頻率時鐘源&#xff1a;STM32微控制器通常支持多種時鐘源&#xff0c;如高速外部時鐘&#…

【深度學習新浪潮】視覺大模型在預訓練方面有哪些關鍵進展?

近年來,視覺大模型在預訓練領域取得了多項突破性進展,涵蓋架構設計、多模態融合、數據利用效率及訓練策略等多個維度。以下結合2024-2025年最新研究成果,從技術創新和應用突破兩方面展開分析: 一、架構創新:突破分辨率與模態限制 超高分辨率預訓練 伯克利與英偉達提出的P…

Elasticsearch原理篇

Elasticsearch原理篇寫在前面&#xff1a;用之于手&#xff0c;先明于心一、傳統數據庫的瓶頸&#xff1a;當數據量成為負擔1. 千萬級數據下的性能衰減2. 分頁查詢的“深水陷阱”3. 關聯查詢的擴展難題4. 全文檢索能力薄弱二、Elasticsearch 的優勢&#xff1a;為搜索而生的分布…

《我是如何用C語言寫工控系統的漏洞和Bug》連載(1)內容大綱

第一部分&#xff1a;導論與基礎 第1章 引言 1.1 工控系統的獨特性和重要性 實時性、可靠性、長生命周期的要求與IT系統的差異&#xff1a;后果不再是信息泄露&#xff0c;而是物理世界的中斷與破壞 1.2 為什么C語言依然是工控領域的主流&#xff1f; 性能、底層硬件操作、歷史…

.Net程序員就業現狀以及學習路線圖(三)

一、.Net程序員就業現狀分析 1. 市場需求與薪資水平 ?市場需求兩極分化?&#xff1a;2025年數據顯示&#xff0c;.Net開發崗位全國占比約0.009%&#xff0c;主要集中在深圳、上海等一線城市 2 3。高端崗位&#xff08;云原生/AI集成方向&#xff09;年薪可達36-60萬&#xff…