【ET8】1.ET8入門-運行指南

主要學習網址

論壇地址為:https://et-framework.cn

Git地址為:GitHub - egametang/ET: Unity3D Client And C# Server Framework

官方QQ群 : 474643097

項目檢出

檢出項目切換到release8.0分支

GitHub地址:GitHub - egametang/ET: Unity3D Client And C# Server Framework

碼云地址:(更新可能不及時,我發文章時,最新的版本是7.2的,最好用GitHub的吧)ET: ET是一個開源的游戲客戶端(基于unity3d)服務端雙端框架,服務端是使用C# .net core開發的分布式游戲服務端,其特點是開發效率高,性能強,雙端共享邏輯代碼,客戶端服務端熱更機制完善,同時支持可靠udp tcp websocket協議,支持服務端3D recast尋路等icon-default.png?t=N7T8https://gitee.com/egametang/ET

運行指南

打卡目錄下的ET\Book\1.1運行指南.md?文件

運行步驟

  1. IDE安裝

    使用Rider2023.2(更新到最新版),需要安裝以下內容:

    • 安裝.Net7,不要用.Net8,目前并不支持.Net8
    • 不支持VS,新人用VS搞出各種問題請不要來問我,我也沒用過VS,后期搞熟了可以自己改用VS
  2. master分支必須使用Unity2021.3.29(初學者請在此版本用熟后再切換其他版本)

  3. 啟動UnityHub,打開(Open) -> 選中'ET/Unity'文件夾所在目錄后打開工程

  4. 打開工程后,點擊Unity菜單 -> Edit -> Preferences -> External Tools 在下拉框'External ScriptEditor'中Rider,Generate .csproj files for全部不要勾選(□)

  5. 點擊Unity菜單 -> Assets -> Open C# Project 啟動IDE

  6. 在Project視圖中選中'Assets/Resources/GlobalConfig',把AppType選擇成'Demo(狀態同步)'或者'LockStep(幀同步)'

  7. 打開Unity菜單 -> ET -> BuildTool,CodeMode選擇Client Server,然后點擊ReGenerateProjectFiles

  8. 打開ET.sln,編譯整個ET.sln,注意要翻墻,否則可能nuget包下載不下來,導致編譯出錯

  9. Unity中雙擊'Assets/Scenes'目錄中的Init場景,點擊Play(?)即可運行

  10. 幀同步默認是一個人匹配,如果需要多人匹配,修改LSConstValue.cs中的MatchCount即可

打包過程

  1. 點擊HybridCLR -> Installer,點擊安裝,等待安裝完成

  2. 用Rider或VS,編譯好Unity.AllHotfix

  3. 點擊HybridCLR -> Generate -> All

  4. 點擊HybridCLR -> CopyAotDlls,這一步會把需要補充元數據的dll復制到'Assets/Bundles/AotDlls'目錄

  5. 打開YooAsset菜單 -> 點擊AssetBundle Builder -> 點擊下拉框'Copy Buildin File Option' -> 選擇'Clear And Copy All' -> 點擊'構建'

  6. 打開Unity菜單 -> ET -> BuildTool 點擊'BuildPackage',Windows下生成的exe在'ET/Release'里面

另:請自行研究YooAsset包管理庫的使用方式(YooAsset官網),若需要升級請自行替換'ET/Unity/Packages/YooAsset'

ENABLE_DLL模式

  1. 該模式用于邏輯全熱更新,還有熱重載,默認就是使用該模式
  2. 在Unity菜單 -> ET -> ChangeDefines -> Remove ENABLE_DLL(關閉) 或 Add ENABLE_DLL(開啟)
  3. 邏輯打成了一個Model.dllHotfix.dll,開啟該模式時游戲運行是通過加載dll運行,但這樣Unity Editor將無法引用邏輯代碼。所以如果有Editor代碼需要用到邏輯代碼,可以關閉ENABLE_DLL模式
  4. 若需要體驗熱重載,需要在Unity菜單 -> Edit -> Preferences -> General窗口的ScriptChangesWhilePlaying 中 選擇 'RecompileAfterFinishedPlaying',運行后修改Hotfix代碼然后用Rider或VS編譯好Unity.AllHotfix工程,再在狀態同步Demo中按'R'鍵

注意事項:

一、常見出錯原因:

  1. 中文目錄
  2. Rider或VS沒有更新到最新版本
  3. Rider或VS沒有安裝相關組件
  4. 沒安裝.Net7
  5. 沒編譯服務端所有工程
  6. Unity版本不兼容
  7. Win7用戶,沒有特別設置
  8. 編譯過程中如果出現依賴問題,也有可能是'Unity菜單 -> Edit -> Preferences -> External Tools -> Generate .csproj files for': 當中勾選了:'Registry packages' 或 'Build-in packages', 請記得都不要勾選(□)
  9. 如果打包報錯缺少"StreamingAsset",自己在 'ET/Unity/Assets' 下新建一個 StreamingAsset 文件夾即可

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

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

相關文章

[足式機器人]Part2 Dr. CAN學習筆記-數學基礎Ch0-5Laplace Transform of Convolution卷積的拉普拉斯變換

本文僅供學習使用 本文參考: B站:DR_CAN Dr. CAN學習筆記-數學基礎Ch0-5Laplace Transform of Convolution卷積的拉普拉斯變換 Laplace Transform : X ( s ) L [ x ( t ) ] ∫ 0 ∞ x ( t ) e ? s t d t X\left( s \right) \mathcal{L} \left[ x\lef…

基于Swin_Transformer的圖像超分辨率系統

1.研究背景與意義 項目參考AAAI Association for the Advancement of Artificial Intelligence 研究背景與意義 隨著科技的不斷發展,圖像超分辨率技術在計算機視覺領域中變得越來越重要。圖像超分辨率是指通過使用計算機算法將低分辨率圖像轉換為高分辨率圖像的過…

AI:91-基于深度學習的手寫數學表達式識別

?? 本文選自專欄:人工智能領域200例教程專欄 從基礎到實踐,深入學習。無論你是初學者還是經驗豐富的老手,對于本專欄案例和項目實踐都有參考學習意義。 ??? 每一個案例都附帶有在本地跑過的核心代碼,詳細講解供大家學習,希望可以幫到大家。歡迎訂閱支持,正在不斷更新…

51單片機的時鐘電路與時序以及 復位電路和電源模式

51單片機的時鐘電路與時序以及 復位電路和電源模式 本文主要涉及51單片機的時鐘電路以及相關時序的知識,也講解了了51單片機的復位電路以及電源模式。 文章目錄 51單片機的時鐘電路與時序以及 復位電路和電源模式一、時鐘電路與時序1、 時鐘電路設計1.1 內部時鐘方式…

用stl寫一個自動打分比賽的案例

我們要實現六名選手進行隨機平均分為兩組,先分別淘汰兩組中的最后一名, 再決出第一名。 抽象選手 class player { public:string name;int score; }; 一個選手有名字和分數 首先我們需要vector容器保存選手的編號,便于后續的操作。 再用…

導入PR的視頻畫面是黑屏的怎么辦?

在現代視頻編輯領域中,越來越多的人使用Adobe Premiere Pro來編輯和制作視頻,但是在某些情況下,用戶可能需要透明背景的視頻進行創作,那么如何創作透明背景的視頻呢? 要制作具有透明背景的視頻,我們需要使…

如何贏得并留住訂閱者:12 個必須嘗試的訂閱營銷策略

Netflix、Hubspot、Spotify 和 Slack 都是流行的基于訂閱的服務,您可能每天都會使用它們,無論是工作還是娛樂。這些例子表明,訂閱業務模式深受 SaaS 創業者的青睞。 這種模式的吸引力很容易理解,特別是考慮到訂閱市場預計到 2025…

C //例10.5 有一個磁盤文件,內有一些信息。要求第1次將它的內容顯示在屏幕上,第2次把它復制到另一文件上。

C程序設計 (第四版) 譚浩強 例10.5 例10.5 有一個磁盤文件,內有一些信息。要求第1次將它的內容顯示在屏幕上,第2次把它復制到另一文件上。 IDE工具:VS2010 Note: 使用不同的IDE工具可能有部分差異。 代碼塊 方法&a…

mysql支持的整數類型、各類型整數能夠表示的數值范圍

MySQL :: MySQL 8.2 Reference Manual :: 11.1.2 Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT mysql支持的整數有:TINYINT、SMALLINT、MEDIUMINT、INT(INT和INTEGER是同義詞)、BIGINT,各…

【C#】序列化和反序列化,以及System.Text.Json和Newtonsoft.Json比較

給自己一個目標,然后堅持一段時間,總會有收獲和感悟! 序列化和反序列化,在實際項目開發過程中用的最多。特別是有對接接口的小伙伴就深有體會。本篇文章就簡單聊聊這個知識點。 目錄 一、基本概念1.1、序列化1.2反序列化1.3、舉例…

AI 賦能 | 智能制造的 AI 算法開發和工程實現

談到智能制造、智慧工廠,愿景是美好的,借助計算機視覺技術和 AI 算法,為自動化生產線賦予環境感知的能力,從而改善工藝流程,提高生產效率。但是,隨著柔性化生產的需求增長,產線的布局調整和功能…

鎖的策略及synchronized詳解

加鎖過程中,處理沖突的過程中,涉及到的一些不同的處理方式。鎖的策略決定了線程如何獲取和釋放鎖以及在何種情況下阻塞和喚醒線程。 1. 常見的鎖策略 1.1 樂觀鎖和悲觀鎖 樂觀鎖:在加鎖之前,預估當前出現鎖沖突的概率不大&am…

Docker三 | 數據卷

目錄 Docker數據卷簡介 添加數據卷的命令 容器數據卷的繼承 Docker數據卷簡介 Docker容器產生的數據,如果不備份,當容器實例刪除后,容器中的數據也會消失,為了保存數據可以在Docker中使用數據卷。Docker數據卷是宿主機的一個可以…

vue3中子組件調用父組件的方法

<script lang"ts" setup>前提 父組件&#xff1a; 子組件&#xff1a; const emit defineEmits([closeson]) 在子組件的方法中使用&#xff1a; emit(closeson)

EP15:動態內存管理概述(c語言)malloc,calloc,realloc函數的介紹使用及柔性數組的介紹

如果學習方向是c方向那么c語言有三個板塊的知識是非常重要的. 1:指針 2:結構體 3;動態內存管理. 序言:在c語言中,什么是動態內存 C語言中的動態內存是指在程序運行時&#xff0c;根據需要動態地分配內存空間的一種內存管理方式。與靜態內存相比&#xff0c;動態內存的大小和生…

12.ROS導航模塊:gmapping、AMCL、map_server、move_base案例

目錄 1 導航概述 2 導航簡介 2.1 導航模塊簡介 1.全局地圖 2.自身定位 3.路徑規劃 4.運動控制 5.環境感知 2.2 導航坐標系odom、map 1.簡介 2.特點 3.坐標系變換 2.3 導航條件說明 1.硬件 2.軟件 3 導航實現 3.1 創建本篇博客的功能包 3.2 建圖--gmapping 3.…

JavaScript基礎知識整理(最全知識點, 精簡版,0基礎版)

文章目錄 一、輸入和輸出內容 1.1 輸出 1.1.1 在瀏覽器的控制臺輸出打印 1.1.2 直接在瀏覽器的頁面上輸出內容 1.1.3 頁面彈出警告對話框 1.2 輸入 二、變量 2.1 變量是什么 2.2 變量的聲明和賦值 2.3 變量的命名規范和規范 三、變量擴展&#xff08;數組&#xff09; 3.1 數組…

Cypress:前端自動化測試的終極利器

引言&#xff1a; 在現代軟件開發中&#xff0c;前端自動化測試已經成為了一個不可或缺的環節。它不僅可以提高開發效率&#xff0c;減少手動測試的工作量&#xff0c;還可以保證軟件的穩定性和質量。而在眾多的前端自動化測試工具中&#xff0c;Cypress無疑是其中的佼佼者。本…

openGauss學習筆記-144 openGauss 數據庫運維-例行維護-慢sql診斷

文章目錄 openGauss學習筆記-144 openGauss 數據庫運維-例行維護-慢sql診斷144.1 背景信息144.2 前提條件 openGauss學習筆記-144 openGauss 數據庫運維-例行維護-慢sql診斷 144.1 背景信息 在SQL語句執行性能不符合預期時&#xff0c;可以查看SQL語句執行信息&#xff0c;便…

文章解讀與仿真程序復現思路——中國電機工程學報EI\CSCD\北大核心《考慮垃圾處理與調峰需求的可持續化城市多能源系統規劃》

這個標題涵蓋了城市多能源系統規劃中的兩個重要方面&#xff1a;垃圾處理和調峰需求&#xff0c;并強調了規劃的可持續性。 考慮垃圾處理&#xff1a; 含義&#xff1a; 垃圾處理指的是城市廢棄物的管理和處置。這可能涉及到廢物分類、回收利用、焚燒或填埋等方法。重要性&…