UnityMod開發(fā)教程 11 使用AssetBundle向游戲中加入自制資源

一. 前言

??在閱讀本節(jié)內(nèi)容之前舍肠,讀者應(yīng)先自行了解一下Unity AssetBundle的知識并了解其大概使用方法,因為本教程主要是將如何制作Mod呵燕,所以對于基礎(chǔ)知識則是希望讀者自行學習棠绘。
??在學了前面10節(jié)之后,我們已經(jīng)可以對游戲進行各種各樣的補丁,修改各種參數(shù)氧苍,但是夜矗,我們只是在原來的基礎(chǔ)上修改各種數(shù)據(jù),作為一個Mod制作者让虐,除了對數(shù)據(jù)的修改紊撕,我們還需要一些更好玩的東西。
??雖然教程開篇的我們說要用《雙冠》作為講解澄干,不過它的內(nèi)容確實是有點少,為了講解本節(jié)的內(nèi)容柠傍,這次我們使用《Farm Together》也就是《一起玩農(nóng)場》來講解麸俘,這是一個3D游戲,我們本節(jié)內(nèi)容就是在我們的農(nóng)場里加入一個我們自己制作的模型惧笛。

二. 準備工作

??為了和游戲保持良好的兼容从媚,我們需要一個盡可能靠近游戲使用的unity的版本,我們在游戲根目錄下找到UnityPlayer.dll患整,然后右鍵屬性拜效,找到詳細信息,可以看到文件版本為2018.2.21.8949各谚,我們打開Unity的舊版本留檔頁面紧憾,https://unity3d.com/get-unity/download/archive ,在2018.X頁面我們找到了2019.3.4發(fā)布的2018.2.21昌渤,這應(yīng)該就是一起玩農(nóng)場所使用的Unity版本了赴穗,我們下載安裝,登錄之后膀息,我們新建一個3D項目般眉。

新建項目

??之后就看到了我們熟悉的Unity頁面,接下來潜支,我們制作一個簡易的小人甸赃,作為我們的要加入游戲的模型。

建一個小人

??ok冗酿,一個簡易的小人就做好了埠对,我們還為它的身體創(chuàng)建了一個材質(zhì)。接下來裁替,我們打開AssetStore鸠窗,搜索官方的AB包插件,下載并導入胯究。

導入插件

??這個插件可以很方便的打包我們的資源稍计,接下來我們將場景中的小人拖動到下方資源管理器中,生成一個預制體裕循,然后選中我們的預制體臣嚣,修改右下角的AB包信息净刮,我這里取名為mod.ab。

制作預制體

??從上方Window/AssetBundle Borwser打開AB包瀏覽器硅则,我們可以可以看到我們剛才命名的小人和它需要的材質(zhì)球淹父。

打包

??選中右側(cè)Build,將平臺改為windows64怎虫,因為從游戲根目錄我們可以得知這個游戲是使用的64位暑认。然后點擊Build,等待打包完畢大审,我們就得到了打包好的AB包蘸际。

打包結(jié)果

三. 從Mod加載AB包

??我們快速的創(chuàng)建一個Mod,這里取名為ModelTest徒扶,在添加引用的時候粮彤,除了之前常用的DLL之外,我們再額外添加一個UnityEngine.AssetBundleModule.dll姜骡,我們需要它來加載AB包导坟。
??我們選擇在Mod加載的時候從Mod路徑讀取我們的資源,當然你也可以選擇在其他時間加載圈澈,看需求惫周。如下:

using UnityEngine;
using UnityModManagerNet;

namespace ModelTest
{
    public static class Main
    {
        public static UnityModManager.ModEntry mod;
        public static GameObject modelPrefab;
        public static bool Load(UnityModManager.ModEntry modEntry)
        {
            mod = modEntry;

            AssetBundle ab = AssetBundle.LoadFromFile($"{mod.Path}mod.ab"); //從mod文件夾下加載mod.ab
            modelPrefab = ab.LoadAsset<GameObject>("MyModel"); //從ab包中加載預制體MyModel
            ab.Unload(false); //卸載ab

            mod.OnGUI = OnGUI;
            return true;
        }

        public static void OnGUI(UnityModManager.ModEntry modEntry)
        {
            if (!mod.Enabled) return; //如果mod沒有開啟,則不執(zhí)行
            if (StageScript.Instance == null) return; //判斷農(nóng)場是否載入
            if (!StageScript.Instance.Loaded) return; //判斷農(nóng)場是否載入

            if(GUILayout.Button("生成小人"))
            {
                GameObject go = GameObject.Instantiate(modelPrefab); //生成小人
                go.transform.position = StageScript.Instance.LocalPlayer.transform.position; //將小人移動到玩家位置
            }
        }
    }
}

??接下來我們將mod編譯康栈,放到Mods文件夾下闯两,并將Unity那里生成的mod.ab文件也復制到mod文件夾,然后打開游戲谅将,進入農(nóng)場漾狼,點擊我們的生成小人按鈕。

生成小人

??到此饥臂,我們就將小(巨)人成功的加入到了農(nóng)場內(nèi)逊躁。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市隅熙,隨后出現(xiàn)的幾起案子稽煤,更是在濱河造成了極大的恐慌,老刑警劉巖囚戚,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件酵熙,死亡現(xiàn)場離奇詭異,居然都是意外死亡驰坊,警方通過查閱死者的電腦和手機匾二,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人察藐,你說我怎么就攤上這事皮璧。” “怎么了分飞?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵悴务,是天一觀的道長。 經(jīng)常有香客問我譬猫,道長讯檐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任染服,我火速辦了婚禮别洪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蕉拢。我一直安慰自己午乓,他們只是感情好站宗,可當我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著敏释,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蜂大。 梳的紋絲不亂的頭發(fā)上奶浦,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天耳高,我揣著相機與錄音概荷,去河邊找鬼误证。 笑死,一個胖子當著我的面吹牛蓝谨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播芦昔,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼料扰,長吁一口氣:“原來是場噩夢啊……” “哼晒杈!你這毒婦竟也來了末早?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎梭纹,沒想到半個月后氮块,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體击儡,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡矫夯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了弄企。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片超燃。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出约素,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布荚藻,位于F島的核電站疾呻,受9級特大地震影響罐韩,放射性物質(zhì)發(fā)生泄漏憾赁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一矾睦、第九天 我趴在偏房一處隱蔽的房頂上張望晦款。 院中可真熱鬧,春花似錦枚冗、人聲如沸缓溅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽坛怪。三九已至,卻和暖如春股囊,著一層夾襖步出監(jiān)牢的瞬間袜匿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工稚疹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留居灯,地道東北人。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓内狗,卻偏偏與公主長得像怪嫌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子柳沙,可洞房花燭夜當晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容