Unity ML-Agents + VScode 環境搭建 Windows

安裝Unity

先去官網下載Unity Hub,然后安裝在D盤就可以了,你需要手機上安裝一個Unity Connect進行賬號注冊。

詳細的注冊可以參考:
https://blog.csdn.net/Dugege007/article/details/128472571

注冊好了以后登入電腦端的Unity Hub,可以嘗試進行漢化:
在這里插入圖片描述
點進去設置成簡體中文
在這里插入圖片描述
然后修改一下這三個地方的路徑:
在這里插入圖片描述
然后安裝編輯器:
在這里插入圖片描述
安裝完點設置進去
在這里插入圖片描述

如果顯示有中文簡體,那可能會無法漢化,先要把中文簡體勾上然后點安裝。
(注意不要勾選 visual studio,我們不用這個)
在這里插入圖片描述
然后創建一個新項目測試,選3D的模板,打開項目就可以了
在這里插入圖片描述
然后漢化一下,點首選項進去
在這里插入圖片描述
選簡體中文
在這里插入圖片描述
包管理器的位置有需要也可以改一下,我這邊不改了:
在這里插入圖片描述

安裝vscode

首先去安裝一下vscode,安裝完了然后打開,安裝中文插件漢化
在這里插入圖片描述
有需要可以改一下插件的安裝位置,插件默認安裝路徑在C:\Users{個人用戶名}.vscode\extensions目錄下,找到『extensions』文件夾,右鍵→剪切。然后到新的文件夾去粘貼,比如粘貼到 D:\Buffer\VSCode\下。
在這里插入圖片描述

管理員權限下的命令提示符(CMD)輸入以下命令:mklink /D “C:\Users{個人用戶名}.vscode\extensions” “{自定義路徑}”;運行成功后,會提示創建了雙向的符號鏈接。如 :

mklink /D “C:\Users\zhang3.vscode\extensions” “D:\Buffer\VSCode\extensions”

在這里插入圖片描述
打開C:\Users{個人用戶名}.vscode,出現一個extensions變成快捷方式,則修改成功。
在這里插入圖片描述

配置

參考 https://docs.unity.cn/cn/2021.2/Manual/ScriptingToolsIDEs.html

組件搜索unity,這幾個能裝就全裝,帶黃尖的是棄用了的,可以不裝
在這里插入圖片描述
然后打開unity項目,編輯->首選項->外部工具->瀏覽,然后選桌面的vscode。
在這里插入圖片描述
再更新一下 Unity 的 Package Manager 插件(Visual Studio Code Editor)到最新版本,可通過 窗口->包管理器 進入包管理界面,在搜索框輸入 Visual Studio Code Editor,解鎖一下,如果需要更新就更新一下:
在這里插入圖片描述
差不多主要的工作都已經完成了,這個時候新建一個C#測試腳本,雙擊腳本,便可以打開 VSCode 了:
在這里插入圖片描述

但是你會發現提示錯誤:
在這里插入圖片描述
去下載一下 .NET SDK ,我安裝了.NET 8.0。【如果你是linux或者macos則需要裝的是mono,詳細的參考官方文檔】有外網的速度會快一些,可以翻墻下。下載完安裝好之后,重新打開一個終端,輸入dotnet --version 或 dotnet --list-sdks (查看安裝的所有版本),下面這樣就是好了
在這里插入圖片描述
如果重新打開腳本還是報錯,則重啟一下電腦就可以了。

然后打開vscode,點擊運行
在這里插入圖片描述
這時會在unity彈出一個窗口:
在這里插入圖片描述
這里可以選所有項目的使能。然后就可以了。

python環境安裝

去官網下載miniconda,你裝conda也可以,然后一路安裝即可:
在這里插入圖片描述
在這里插入圖片描述
然后在菜單欄中直接打開或搜索Anaconda Prompt(注意:未來管理miniconda中虛擬環境均在此處,并非在命令指示符或PowerShell)
在這里插入圖片描述
然后打開和conda命令行一樣使用就可以了。使用命令行(Anaconda Prompt)將新的路徑設置為虛擬環境的存儲位置,比如 D:\anaconda3\envs :
conda config --add envs_dirs D:\anaconda3\envs
這里的 D:\anaconda_envs 是你希望存儲虛擬環境的路徑,可以更換為任何你喜歡的目錄。
運行以下命令查看配置:
conda config --show envs_dirs
然后你就能看到你的路徑在最上面就可以了(默認優先使用)

嘗試創建一個新的環境
conda create -n myenv python=3.8
在這里插入圖片描述
創建好了之后激活
conda activate myenv
如果想安裝軟件包就可以用pip了,如:
pip install numpy
關閉
conda deactivate

ML-Agents環境配置

詳細教程參考官方:https://github.com/Unity-Technologies/ml-agents/blob/release_19_docs/docs/Readme.md

先把ML-Agents倉庫克隆下來,比如放在D:\Unity\ml-agents中:

git clone --branch release_19 https://github.com/Unity-Technologies/ml-agents.git

把倉庫打包到項目里,窗口->包管理器->單擊+按鈕->添加來自磁盤的包
在這里插入圖片描述
然后導航到com.unity.ml-agents文件夾,選擇package.json文件,雙擊添加
在這里插入圖片描述
導入后會出現ML-Agents包(若是沒有,關閉工程重新打開添加):
在這里插入圖片描述
然后com.unity.ml-agents.extensions Unity 包(可選)的話,也一樣安裝就可以了。

創建一個python環境,python3.10的

conda create -n mlagents python=3.10.12 && conda activate mlagents

安裝pytorch

pip3 install torch~=2.2.1 --index-url https://download.pytorch.org/whl/cu121

通過本地安裝mlagents(注意pytorch得在它之前安裝,以確保使用CUDA版本,而不是僅使用CPU版本)

#先切換到包儲存路徑
cd /d “D:\Unity\Project\ml-agents\ml-agents”
#本地安裝
python -m pip install ./ml-agents-envs
python -m pip install ./ml-agents

若numpy安裝報錯,可能是python版本太高了,要么換python版本到3.8,要么換numpy版本到1.23.5,直接打開setup.py更改版本:
在這里插入圖片描述
修改為1.23.5后重新安裝,就可以了
在這里插入圖片描述
在這里插入圖片描述

環境測試

可以直接跑它的項目,直接打開Project目錄,就可以運行項目了
在這里插入圖片描述
在這里插入圖片描述
想更換demo的話比如3Dball,單擊導入3Dball的包,單擊一下
在這里插入圖片描述
然后去打開這個項目
在這里插入圖片描述
點擊運行就可以了
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/78614.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/78614.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/78614.shtml

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

相關文章

Linux電源管理(2)_常規的電源管理的基本概念和軟件架構

原文: Linux電源管理(2)_Generic PM之基本概念和軟件架構 1. 前言 Linux系統中那些常規的電源管理手段,包括關機(Power off)、待機(Standby or Hibernate)、重啟(Reboot)等。這些…

機器學習基礎理論 - 分類問題評估指標

幾個定義:混淆矩陣 TP: True Positives, 表示實際為正例且被分類器判定為正例的樣本數FP: False Positives, 表示實際為負例且被分類器判定為正例的樣本數FN: False Negatives, 表示實際為正例但被分類器判定為負例的樣本數TN: True Negatives, 表示實際為負例且被分類…

在線教育系統開發常見問題及解決方案:源碼部署到運營維護

當下,越來越多的教育機構、企業培訓部門以及創業者,選擇開發屬于自己的在線教育系統。然而,從源碼部署到實際運營,整個過程中常常會遇到一系列技術與管理難題。今天,筆者將從在線教育系統源碼維護、運營等幾個方向為大…

RAG(Retrieval-Augmented Generation,檢索增強生成)

RAG(Retrieval-Augmented Generation,檢索增強生成)是一種結合 信息檢索 和 文本生成 的技術,旨在提升大語言模型(LLM)生成內容的準確性和時效性。其核心思想是:先檢索相關知識,再基…

項目實戰 -- 狀態管理

redux基礎 還記得好久好久之前就想要實現的一個功能嗎? 收起側邊欄折疊菜單,沒錯,現在才實現 因為不是父子通信,所以處理起來相對麻煩一點 可以使用狀態樹或者中間人模式 這就需要會redux了 Redux工作流: 異步就…

Go語言之路————指針、結構體、方法

Go語言之路————指針、結構體、方法 前言指針結構體聲明初始化使用組合引用結構體和指針結構體的標簽 方法例子結合結構體總結 前言 我是一名多年Java開發人員,因為工作需要現在要學習go語言,Go語言之路是一個系列,記錄著我從0開始接觸Go…

[創業之路-390]:人力資源 - 社會性生命系統的解構與重構:人的角色嬗變與組織進化論

前言: 人、財、物、信息、機制、流程、制度、方法共同組合了一個持續的消耗資源、持續的價值創造、持續面臨生存與發展、遺傳與變異的社會性生命系統。 "人"是所有社會性生命系統最最基礎性的要素,它彌漫在系統中多維立體空間的不同節點上&am…

JS執行器在UI自動化測試中的應用

前言 在進行UI自動化過程會遇到滾動條下拉、隱藏元素定位、只讀屬性元素的編輯、富文本處理等,此時可以使用JS執行器簡化我們的一些處理操作。 具體應用 JS執行器的使用步驟: 1.先寫個JS腳本,如果需要獲取操作后的值,JS腳本前面…

解析Suna:全球首款開源通用AI智能體

導語: 嘿,哥們兒,最近 AI Agent 這塊兒挺火的,有個叫 Suna 的開源項目冒出來挺快!聽說只用了 3 周就開發出來了,但功能上感覺已經能跟那個商業版的 Manus掰掰手腕了。它能幫你搞定瀏覽器自動化、管文件、爬…

模板方法模式:定義算法骨架的設計模式

模板方法模式:定義算法骨架的設計模式 一、模式核心:模板方法定義算法骨架,具體步驟延遲到子類實現 在軟件開發中,經常會遇到這樣的情況:某個算法的步驟是固定的,但具體步驟的實現可能因不同情況而有所不…

淺談Java 內存管理:棧與堆,垃圾回收

在Java編程世界里,內存管理是一項極為關鍵的技能,它就像程序運行背后的“隱形守護者”,默默影響著程序的性能與穩定性。今天,咱們就來簡單學習一下Java內存管理中的兩大核心要點:棧與堆的內存分配機制,以及…

【WebGL小知識】WebGL平臺上不同Json的比較

今天來總結一下WebGL平臺上不同Json插件的差別,話不多說直接開始。 JsonUtility JsonUtility是Unity自帶的Json解析,無需另外安裝插件。 優點: Unity自帶,兼容性好,WebGL平臺可以使用輕量級,性能較好。 …

4.22tx視頻后臺開發一面

總時長大概在一個小時,主要提問C、操作系統、計網以及數據庫等方面,最后兩個算法編程題。 一上來先介紹項目 Linux下的mybash命令處理器和內存池 mybash可以再總結歸納一下,一上來有點緊張沒有條理 內存池是用邊界標識法寫的,…

從StandardMaterial和PBRMaterial到PBRMetallicRoughnessMaterial:Babylon.js材質轉換完全指南

在現代3D圖形開發中,基于物理的渲染(PBR)已成為行業標準。本文將深入探討如何在Babylon.js中將傳統StandardMaterial和PBRMaterial轉換為PBRMetallicRoughnessMaterial,并保持視覺一致性。 為什么需要轉換? PBRMetallicRoughnessMaterial作…

UEditor文檔在Servlet項目上的應用

UEditor 是一款功能強大的富文本編輯器,在項目中應用廣泛。 Ueditor使用 引入 UEditor 下載 UEditor:從 UEditor 官方網站(ueditor 官網)下載適合項目需求的版本。解壓文件:將下載的壓縮包解壓到項目的靜態資源目錄…

ThinkPHP快速使用手冊

目錄 介紹 安裝(windows環境) 安裝Composer 安裝ThinkPHP 目錄結構 配置文件 第一個接口(Controller層) Hello World 自定義Controller 請求參數 獲取查詢參數(Get請求) 獲取指定請求參數 獲取…

面向 C# 初學者的完整教程

🧱 一、項目結構說明 你的項目大致結構如下: TaskManager/ ├── backend/ │ ├── TaskManager.Core/ // 實體類和接口 │ ├── TaskManager.Infrastructure/ // 數據庫、服務實現 │ └── TaskManager.API/ // We…

Axios 的 GET 和 POST 請求:前端開發中的 HTTP 通信

🤍 前端開發工程師、技術日更博主、已過CET6 🍨 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1 🕠 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》 🍚 藍橋云課簽約作者、…

【前端】如何檢查內存泄漏

在實際的場景中,如果觀察到內存持續出現峰值,并且內存消耗一直沒有減少,那可能存在內存泄漏。 使用 Chrome DevTools 來識別內存圖和一些內存泄漏,我們需要關注以下兩個方面: ● 使用性能分析器可視化內存消耗&#xf…

JavaScript的JSON處理Map的弊端

直接使用 Map 會遇到的問題及解決方案 直接使用 Map 會導致數據丟失,因為 JSON.stringify 無法序列化 Map。以下是詳細分析及解決方法: 問題復現 // 示例代碼 const myMap new Map(); myMap.set(user1, { name: Alice }); myMap.set(user2, { name: B…