国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity中實現(xiàn)HybridCLR熱更新

這篇具有很好參考價值的文章主要介紹了Unity中實現(xiàn)HybridCLR熱更新。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一:前言

HybridCLR又稱作huatuo(華佗)、wolong(臥龍)熱更方案,底層是C++編寫的,是一種熱更新方案,與Lua、ILRuntime等都是不同的熱更方案
HybridCLR擴充了il2cpp的代碼,使它由純AOT runtime變成AOT+Interpreter混合runtime,進而支持動態(tài)加載assembly,實現(xiàn)熱更新

HybridCLR官網(wǎng)

HybridCLR熱更原理
IOS不允許JIT的方式編譯,因為JIT是需要在運行時動態(tài)將IL代碼編譯為機器碼并將其保存在內存中,但是
IOS是不允許執(zhí)行動態(tài)生成的機器碼(運行時分配的內存不允許執(zhí)行),所以相當于變相的封鎖了JIT這種編譯方式
而HybridCLR是實現(xiàn)了自己的一套解釋器去解釋執(zhí)行,解釋執(zhí)行不會在運行時生成額外的本地機器碼,而是運行時直接逐行分析并編譯成機器碼執(zhí)行,內存中不會保留,因此不受JIT編譯的限制


二:什么是熱更新

熱更新是指當游戲出現(xiàn)bug,或者需要修改,增加某個功能的時候,我們不需要重新下載安裝包,就可以更新游戲內容
當游戲上線后,遇見bug或者需要更新內容,一般有兩種做法
第一種:重新打包上傳一個新的安裝包到應用商店(需要審核,費時間),然后讓玩家下載新的客戶端安裝包(需要重新下載,費流量,會減少留存率)
第二種:在游戲內更新,游戲啟動時去下載需要更新的補丁包或資源
第一種我們一般在大版本更新時使用,稱為游戲整包更新,第二種稱為熱更新


三:熱更新流程

——發(fā)現(xiàn)bug并修改bug
——資源打AB包上傳,代碼使用熱更方案上傳
——玩家啟動游戲檢測是否需要更新
——下載補丁包
——檢測是否更新成功(例如通過MD5校驗)
——進入游戲


四:HybridCLR的優(yōu)點

——既不用像使用lua方案中需要多學習一門語言,也不用像ILRuntime方案中使用Mono虛擬機,效率低
——正因為HybridCLR是原生runtime級別實現(xiàn),熱更新部分的類型與主工程AOT部分類型是完全等價并且無縫統(tǒng)一的??梢噪S意調用、繼承、反射、多線程,不需要生成代碼或者寫適配器


五:工具安裝和配置HybridCLR環(huán)境

工具安裝
——Unity版本在2020以上
——Visual Studio必須安裝Windows Build Support(IL2CPP)或Mac Build Support(IL2CPP),Mac則需要安裝Xcode
——Visual Studio必須在2019版本以上
——Visual Studio必須安裝Unity的游戲開發(fā)使用c++的游戲開發(fā)組件

配置HybridCLR環(huán)境
——從Package中安裝com.code-philosophy.hybridclr包
https://gitee.com/focus-creative-games/hybridclr_unity.git

https://github.com/focus-creative-games/hybridclr_unity.git
——菜單欄選擇HybridCLR—Installer,安裝成功后會在控制臺打印成功日志
——PlayerSetting—Scripting Backend選擇為IL2CPP
——PlayerSetting—Api Compatability Level選擇為Net 4.x或.Net Framework
——PlayerSetting—Use Incremental GC選擇為不勾選(自v4.0.0起已經(jīng)支持增量式GC, 但處于beta版本)


六:熱更實現(xiàn)

——編寫代碼,拆分程序集(AOT程序集和熱更程序集)
熱更的程序集不能被非熱更程序集所引用

——配置程序集
點擊菜單HybridCLR/Settings打開配置界面,將熱更的程序集添加到hotUpdateAssemblyDefinitions或hotUpdateAssemblies中(hotUpdateAssemblies不加dll后綴),
需要注意hotUpdateAssemblyDefinitions和hotUpdateAssemblies兩個列表是等價的,不要重復添加


——運行菜單HybridCLR/Generate/All生成熱更的dll和AOT的dll以及一些橋接函數(shù),
{project}/HybridCLRData/HotUpdateDlls/StandaloneWindows64目錄下的熱更dll復制到Assets/StreamingAssets/HotUpdate.dll.bytes
(復制后的dll要加.bytes后綴)


——修改熱更代碼后。運行菜單命令HybridCLR/CompileDll/ActiveBulidTarget重新編譯熱更新dll
{project}/HybridCLRData/HotUpdateDlls/StandaloneWindows64目錄下的熱更dll復制為剛才的打包輸出目錄的XXX_Data/StreamingAssets/HotUpdate.dll.bytes,重新運行程序


七:注意事項

——熱更的程序集不能被非熱更程序集所引用
——由于Unity資源管理系統(tǒng)的限制,掛載熱更新腳本的資源(場景或prefab)必須打包成ab包,在實例化資源前先加載熱更新dll即可,如果不打成ab包會發(fā)生scripting missing的錯誤
文章來源地址http://www.zghlxwxcb.cn/news/detail-729996.html

到了這里,關于Unity中實現(xiàn)HybridCLR熱更新的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【Unity】熱更新HybridCLR學習與實戰(zhàn)(一)

    【Unity】熱更新HybridCLR學習與實戰(zhàn)(一)

    從事unity開發(fā)以來一直未真正系統(tǒng)的學習過熱更新,現(xiàn)在業(yè)務上有需要,借此機會來深入學習一下,調研了幾種現(xiàn)有比較火的熱更新框架,對比了一下優(yōu)劣,最終決定使用HybridCLR來做熱更新,最終目的是要加入到我們已有的項目中,所以肯定要全面實現(xiàn)商業(yè)化,因此有同等需

    2024年02月03日
    瀏覽(19)
  • Unity 熱更新 HybridCLR 對接到項目中

    Unity 熱更新 HybridCLR 對接到項目中

    Unity版本 2021.3.6f1 HybridCLR版本 2.2.0 1.1要注意兩點: 1.Unity 要安裝了Windows-IL2CPP 環(huán)境的,這個Unity官網(wǎng)有提供,根據(jù)自己Unity版本下載對應的環(huán)境即可。 2.il2cpp需要c++的環(huán)境庫,一般情況不是C開發(fā)的,很容易缺失c++的開發(fā)環(huán)境,因此在打包時會出現(xiàn)?error: could not set up a toolchain

    2024年02月12日
    瀏覽(18)
  • Unity | YooAssetV2.1.0 + HybridCLR熱更新

    Unity | YooAssetV2.1.0 + HybridCLR熱更新

    目錄 一、項目更改 二、使用YooAsset熱更 1.資源配置 2.資源構建 3.將兩個文件夾下的資源上傳CDN服務器 4.修改代碼 5.運行效果 ? ? ? ? 本文記錄利用YooAsset+HybridCLR來進行資源和dll的更新。YooAsset使用的是新版V2.1.0。相比于舊版,dll(原生文件)和資源要建兩個package分別來進行bu

    2024年02月19日
    瀏覽(19)
  • Unity最新熱更新框架 hybridclr_addressable

    GitHub:YMoonRiver/hybridclr_addressable: 開箱即用的商業(yè)游戲框架,集成了主流的開發(fā)工具。將主流的GameFramework修改,支持Addressable和AssetBundle,已完善打包工具和流程。 (github.com) # 新增GameFramework Addressables 開箱即用 # 新增循環(huán)列表 ### UnityGameFramework ? **此框架參考:** ?? `GameFramework

    2024年02月03日
    瀏覽(30)
  • Unity轉微信小游戲 HybridCLR + YooAsset 實踐

    Unity轉微信小游戲 HybridCLR + YooAsset 實踐

    參考鏈接:https://github.com/wechat-miniprogram/minigame-unity-webgl-transform?tab=readme-ov-file Unity 2021.3.15f1c1 Unity 2021.2.5f1c302 wxSDK HybridCLR 5.0.0 YooAsset 1.5.7 后臺配置白名單 微信小游戲注意事項: 不支持同步加載。 不支持資源加密。 不支持多Package 關閉WebGL本地緩存 參考地址 因為微信小游戲

    2024年04月12日
    瀏覽(144)
  • Unity之如何接入HybridCLR(代號wolong,原h(huán)uatuo)熱更新框架

    HybridCLR(代號wolong)是一個特性完整、零成本、高性能、低內存的近乎完美的Unity全平臺原生c#熱更方案。 官方提供了完整的教程:HybridCLR快速上手 官方還提供了一個簡易的小Demo,演示了如何使用HybridCLR實現(xiàn)熱更新。hybridclr_trial 官方文檔其實已經(jīng)非常詳細了,我寫本文目的主要

    2024年02月12日
    瀏覽(20)
  • 【Unity3D熱更新】Unity3D 零成本、高性能的C#的熱更新框架:HybridCLR

    【Unity3D熱更新】Unity3D 零成本、高性能的C#的熱更新框架:HybridCLR

    推薦閱讀 CSDN主頁 GitHub開源地址 Unity3D插件分享 簡書地址 我的個人博客 QQ群:1040082875 大家好,我是佛系工程師 ☆恬靜的小魔龍☆ ,不定時更新Unity開發(fā)技巧,覺得有用記得一鍵三連哦。 相信只要做過熱更新的小伙伴,都被熱更新搞過心態(tài)吧。 我有一個小伙伴,本來是面向

    2024年01月16日
    瀏覽(26)
  • 十八、Unity游戲引擎入門

    十八、Unity游戲引擎入門

    1、下載 ?? ?首先需要下載Unity Hub,下載網(wǎng)址:https://unity.com/cn。 ?? ?然后在其中下載Unity編輯器并安裝,可選擇最新版本。 ?? ?接著需要選擇適合的開發(fā)環(huán)境,例如Android Studio或Xcode,以便進行手機游戲開發(fā)。在安裝完Unity后,需要根據(jù)項目需求下載對應的模塊和插件,例

    2024年02月16日
    瀏覽(117)
  • 【Unity實戰(zhàn)篇 】| 游戲中實現(xiàn)鏤空遮罩效果【矩形、圓形鏤空遮罩】

    【Unity實戰(zhàn)篇 】| 游戲中實現(xiàn)鏤空遮罩效果【矩形、圓形鏤空遮罩】

    前言 本文來寫一下怎樣在Unity中完成一個 鏤空遮罩 的效果。 鏤空遮罩 比較常用的有兩種?

    2024年02月15日
    瀏覽(75)
  • 【Unity引擎技術整合】 Unity學習路線 | 知識匯總 | 持續(xù)更新 | 保持樂趣 | 共同成長

    【Unity引擎技術整合】 Unity學習路線 | 知識匯總 | 持續(xù)更新 | 保持樂趣 | 共同成長

    前言 本文對 Unity引擎 的知識進行了一個整理總結,基本包含了Unity中大部分的知識介紹。 網(wǎng)上也有很多Unity相關的學習資料,但大多數(shù)都不成體系,學起來的時候難免會東奔西走的摸不著頭腦。 本文整理的多數(shù)文章都是有對應的 系列性文章專欄 ,可以更方便的進行系統(tǒng)學習

    2024年02月03日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包