第五章-bin文件修改-英雄bin
bin文件

bin:程序文件 由游戲的進(jìn)程(League of Legends.exe)進(jìn)行讀取并執(zhí)行對(duì)應(yīng)效果 簡(jiǎn)單來(lái)說(shuō)bin文件里面就是程序代碼 而游戲會(huì)對(duì)其加載 執(zhí)行,這樣的話(huà)游戲就可以知道要做什么操作 執(zhí)行完成什么樣的效果,再簡(jiǎn)單來(lái)說(shuō)bin這個(gè)文件就是本地文件與程序之間的中間人,負(fù)責(zé)兩者之間的交流,bin文件里面寫(xiě)上某某參數(shù),游戲負(fù)責(zé)讀取執(zhí)行展示給玩家。書(shū)寫(xiě)編輯bin文件的時(shí)候要注意語(yǔ)句規(guī)范 和其他語(yǔ)言一樣 bin文件也有自己的語(yǔ)言規(guī)范 需要自行積累+前輩經(jīng)驗(yàn) 學(xué)習(xí)才可以
---英雄bin文件簡(jiǎn)單結(jié)構(gòu)---

---先從簡(jiǎn)單的說(shuō)起---
一個(gè)基礎(chǔ)的單位的組成 需要四個(gè)必備bin?
1技能信息 人物基本信息 例:Aatrox.bin
2最基本的組成信息 英雄類(lèi)別 個(gè)人能力??模型屬性... 例Root.bin
3動(dòng)畫(huà)列表 如在某條件下 執(zhí)行對(duì)應(yīng)的動(dòng)畫(huà)/事件 例Skin0.bin(動(dòng)畫(huà))
4皮膚的基本信息 載入圖 模型屬性? 材質(zhì)特效 例子特效 例Skin0.bin(皮膚)
不止以上功能

---如何修改達(dá)到自己想要的效果---
1剛開(kāi)始修改 很難看懂很正常 看到很多的語(yǔ)句難免會(huì)頭腦發(fā)昏?
推薦先慢慢讀懂 里面的語(yǔ)句 試著一點(diǎn)一點(diǎn)的修改 慢慢調(diào)整?
例如 先學(xué)一下 修改里面的文件加載路徑 特效的滯留?規(guī)模 偏移 time等信息的修改
然后就是 參考學(xué)習(xí)一下其他大佬分享的一些成品 或?qū)Ρ裙俜降某善肺募?/p>
主要是先讀懂 理解 實(shí)踐?
因?yàn)椴幌衿渌幊陶Z(yǔ)言一樣 還是需要自己多多積累經(jīng)驗(yàn)
正文教學(xué)
bin文件不能被直接編輯 需要通過(guò)轉(zhuǎn)換器 轉(zhuǎn)為py文件 使用文本編輯器對(duì)其編輯操作
編輯過(guò)程中請(qǐng)完全按照 bin的語(yǔ)句規(guī)范書(shū)寫(xiě) 不然不能進(jìn)行 轉(zhuǎn)換回bin文件的操作 不了解不要緊 經(jīng)驗(yàn)都是慢慢積累下來(lái)的??編輯完成之后再轉(zhuǎn)換回去? 成bin文件
所需工具:ritobin
地址:https://github.com/moonshadow565/ritobin/releases
.bin => .py
1將bin文件拖放在ritobin程序上 就會(huì)在Skin0.bin同目錄下生成Skin0.py文件 有則覆蓋替換

.py?=>?.bin
1將py文件拖放在ritobin程序上 就會(huì)在Skin0.py同目錄下生成Skin0.bin文件 有則覆蓋替換

好了 這就是 轉(zhuǎn)換的基本操作 非常簡(jiǎn)單

最后再說(shuō)一下被轉(zhuǎn)換后的文件內(nèi)容?
皮膚bin文件解析
打開(kāi)py文件 一共可分為兩大部分
第一部分 linked 鏈接
該結(jié)構(gòu)下 書(shū)寫(xiě)需要鏈接的bin文件 鏈接其他bin文件后 可以使用該文件下的 條目?jī)?nèi)容
如 鏈接動(dòng)畫(huà)bin后 使用 SkinAnimationProperties功能link 動(dòng)畫(huà)的條目"Characters/Aatrox/Animations/Skin0"這樣就可以讀取動(dòng)畫(huà)bin里面的一個(gè)條目
其中還有一些bin文件里面存放特效的結(jié)構(gòu)例如vfx特效 等等 通過(guò)linked寫(xiě)入一個(gè)bin文件 就可以使用里面的各種條目

?第二部分?entries 條目(一個(gè)大的條目合集)
該部分 一般情況下都具有?
skin皮膚的基本數(shù)據(jù)屬性條目 -皮膚的載入圖 音頻 模型 ?等等-如下圖
vfx粒子特效結(jié)構(gòu)條目?-粒子特效的 顏色 規(guī)模 偏移 使用的貼圖等等-如下圖
特效資源列表?xiàng)l目 -比如Q技能命中使用哪一個(gè)特效 -如下圖
自行展開(kāi)觀(guān)看

當(dāng)你選擇原皮進(jìn)入游戲時(shí) 程序開(kāi)始加載skin0.bin 并讀取 皮膚基本屬性條目
"Characters/Aatrox/Skins/Skin0"(默認(rèn)讀取)
通過(guò)這個(gè)讀取這個(gè)條目下的語(yǔ)句 進(jìn)而加載所需要的本地資源 如模型 動(dòng)畫(huà) 音效等
然后再讀取特效資源列表?xiàng)l目
"Characters/Aatrox/Skins/Skin0/Resources"(默認(rèn)讀取)
然后就可以知道 在某些條件下加載某些特效
例如 劍魔釋放一段Q 需要加載這個(gè)"Aatrox_Q_cas1" 就會(huì)讀取其后面的特效路徑條目
"Characters/Aatrox/Skins/Skin0/Particles/Aatrox_Base_Q_cas1"?
但是這個(gè)bin文件當(dāng)中并沒(méi)有這個(gè)vfx的條目 然后就猜測(cè)是在 他的第一部分link的其中一個(gè)bin文件里面存放 因?yàn)閘ink就可以隨便調(diào)用其所有內(nèi)容條目
(但是在這個(gè)bin文件下找不到這個(gè)vfx特效的條目 那么就可以判定 改特效在linked部分下的其他bin文件里面存放 直接就可以從該bin下讀取使用)

簡(jiǎn)單修改
最后的話(huà)還是 簡(jiǎn)單教一下修改的效果 太復(fù)雜的不好演示? 學(xué)會(huì)操作為目的 理解為主
(aatrox=亞托克斯)(skin0=base=原皮)
一.修改載入圖加載路徑
找到加載圖片的位置?

修改成霸天劍魔的載入圖路徑

二.修改模型大小
找到控制大小的位置

改為2或者2.000000000 無(wú)影響的話(huà)隨意修改
進(jìn)入游戲查看 原皮進(jìn)入 加載圖變成了霸天劍魔

模型變大了兩倍

尾

總結(jié):修改的時(shí)候 注意語(yǔ)句寫(xiě)法 不然無(wú)法轉(zhuǎn)換bin文件 出問(wèn)題就可以考慮下自己的寫(xiě)法。?多積累經(jīng)驗(yàn) 多研究 了解才可以 實(shí)現(xiàn)的東西多一點(diǎn) 畢竟沒(méi)天賦是教不會(huì)的 只跟著教程來(lái) 做不出很好的作品 主要是自己多一些理解 靈活運(yùn)用。
bin文件hash問(wèn)題 參考解壓與壓縮章節(jié)末尾解析 差別不大 就是計(jì)算方式不同? 都是需要使用字典進(jìn)行翻譯 當(dāng)然程序自帶字典 也可以自行添加或?qū)ふ宜说氖褂?/p>