找到一個插件,裡面有我需要的功能,但是代碼看的一層套一層,暈頭轉向,想問下大佬們一般怎麼看源碼的


直接去給開發者寫郵件


啊是0110君的問題,我TM直接搶答!

好吧,我不是大佬,意見僅供參考。不過我讀源碼都是有目的性的,比如之前我整的PLC項目,先看demo,能對著demo整出自己的東西來,再去根據一些關鍵性的參數找定義和前後調用,捋出一條路來。0110君都是怎麼讀源碼的?


如此良人何:魔改Unity的PSD導入器,加速幀動畫資源生產速度?

zhuanlan.zhihu.com圖標

可以看一下我改PSDImporter插件的思路,希望能幫到你


www.unityfly.com

unity項目源代碼插件模型場景免費資源學習分享

unity愛心飛揚下載站 :)

本站建立的初心是:為兄弟姐妹們學習unity免費提供便利和支持

歡迎光臨本站 :)


多年面向Assetstore編程經驗告訴我,看懂的難度會比使用的難度要高很多。

今天看一套明天看一套,從頭到腳看,分析整個框架的難度和成本都極高,時間就這麼耗費了。

所以,每次我找到需要用的功能,在塞到項目之前,都先做一遍減法。

不需要的組件,刪除,不需要的代碼,刪除,刪一點運行一遍,要是對功能沒有影響就繼續,否則就還原,或者改變一下思路,把邏輯改成自己思考的。

在刪除的過程我會發現,報錯了,這個參數不能刪,為什麼,右鍵看引用,昂,原來是在這邊做了傳參。

慢慢就剩下我需要的核心功能和核心腳本。

在刪除的過程一點點的我也能看懂框架。

當然要弄懂到什麼程度,要看自己的需要,你刪得越多就弄懂得更多。


只要接觸過Unity一段時間,都會或多或少的知道或者使用一些來自AssetStore的插件,這些插件中不乏許多優秀且被廣泛應用的,例如NGUI、EasyTouch、DOTween等。這些插件中有很大一部分是開源的,它們不僅架構合理,代碼規範,還有詳細的文檔可供參考,實在是我們學習Unity以及編程不可多得的好資源。

在自己看了一些插件的源碼之後,覺得應該整理一下自己所學以及一些觀點分享給大家,而且這也是對自己的一種鞭策。我想這一系列會包含Unity開發方方面面的插件,盡量從常用而且結構相對簡單,代碼量相對比較少的插件開始。先從簡單的結構框架來解讀每一個類的調用關係,還有看介面和繼承類實現的功能,看父類和子類等。就像一顆大樹,把枝丫先慢慢去除,獲取到枝幹,樹榦等。

每一個插件都會包含詳盡的用法以及源碼解析,而且還有更重要的是這個插件代表的在Unity開發過程中這個方面的知識。


先學會用!用了十幾二十次後熟練後

再查看每個功能輸入帶來的輸出結果,然後各種打Debug

然後就用UML圖寫出關係圖。


如果有文檔先看文檔,瞭解插件的功能,然後從每個功能的入口看起就可以了。

如果沒文檔的話就從Demo的入口看起。

都沒有的話先找模塊管理類,然後瀏覽一遍模塊代碼,知道大意後就可以慢慢猜測驗證作者的想法了。


看插件文檔,和插件Demo。一般插件都會提供


畫UML圖或者用關係分析工具(vs有類似功能)完成這些工作,分析每個文件之間的聯繫(非private部分),整理一張超大的關係圖,加上必要的注釋,慢慢地就把整個項目結構剝開了


unity的ultimate character controller插件,看了官方視頻先用起來,再把不懂的部分重新仔細看官方文檔,看了很多遍(接近一個月才徹底搞懂架構吧,不過是工作中零散的在看那種)

有功能架構和文檔架構做基礎,最後看源碼就還行,除了物理計算部分純粹的看不懂,其他架構功能方面很容易看懂了


推薦閱讀:
相關文章