在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

unity項目優化之資深程序員分享七大方法理順unity項目

電子工程師 ? 來源:網絡整理 ? 2018-11-12 14:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一天,我在Quora上看到一個人問:程序員如何用超過一萬行的代碼編寫一個項目。軟件做的越大,維護就越困難,這是一個不爭的事實。所以這面臨的問題就是如果你不讓你的項目有條理,就會很難維護它。到后期,你就會發現你并不是在添加新功能而是在把時間浪費在一個凌亂的項目上。每一個Unity項目也是這樣的。在我看來,這是非常重要的技巧,可以幫助你保持你的項目條理性。

1. Directory Structure 【目錄結構】

我們不能夠在不提到項目目錄結構的情況下談論組織結構。Unity讓你可以自由的創建自己想要的目錄結構,也正是因為這樣,它可能讓項目很混亂。下面是我個人使用的目錄結構:

3rd-Party(第三方資源)
s
Audio
1、Music
2、SFX
Materials
Models
Plugins
Prefabs
Resources
Textures
Sandbox
Scenes
1、Levels
2、Other
Scripts
1、Editor
Shaders

不要在根目錄存儲任何資源文件,盡可能使用子目錄。

除非需要,否則不要在根目錄中創建一些額外目錄。(意思是不要在根目錄創建一些無用目錄)

命名一致性。如果你決定使用“駱駝拼寫法(駱駝拼寫法的意思是依靠單詞的大小寫拼寫復合詞:例如:PlayStationGameManager)”編寫目錄名和小寫字母編寫資源,請一直遵守這個規則。

不要嘗試將有鏈接性的特定資源文件移動到常規目錄或者通用目錄。例如有些Materials是從模型生成的,不要將它們移動到通用目錄或者其他Materials目錄中,因為你下一次就不知道這些材質來自哪里了。

使用從資源商店下載的第三方資源,不要隨便改變其原本的結構。

使用Sandbox(沙盒)目錄來測試你不完全確定的東西。當做測試的同時,你最先需要關心的是一個合適的組織結構。這樣不論你最后想刪除它還是把它組織到你的項目中都可以。當你

與其他人一起工作時,請創建你個人的SandBox子目錄,例如:Sandbox/JohnyC。

2. Scene hierarchy structure 【場景層次結構】

在項目層次結構之后也有場景層次結構。像上面的一樣,我將提供一個模板,你可以根據你自己的需要進行調整。

Management
GUI
Cameras
Lights
World
1、Terrain
2、Props
_Dynamic

你應該遵循幾個規則:
所有空對象應位于(0,0,0,)坐標點,默認旋轉和縮放。

當你運行中實例化對象時,請確保將其放在_Dynamic中,不要污染層次結構的根目錄,否則將難以瀏覽Scene hierarchy下的文件(文件太多)。

對于僅用于掛載腳本的空對象,請使用“@”作為前綴。例如@Cheats

3. Use prefabs for everything 【使用預制體進行所有操作】

Unity中的Prefabs并不完美,但是你會發現,它們是共享預配置信息的最好方法。一般來說,我們可以把你想放到場景中的所有東西都做成預制體。你可以僅僅通過創建預制體來從一個空場景中創建新的關卡。

我們應該使用預制體的原因是當預制體有更改時,所有預制體的實例對象也會做相應改動。如果有一百個關卡都需要給相機添加一個相同的效果呢?沒問題,如果你的相機是預制體,只需要將效果添加到預制的相機上就行。

不過要注意,你不能在另一個預制體上使用預制體。可以使用代碼字段鏈接解決此種預制體實例預制體的情況,并且確保在父預制體實例的時候才運行該代碼字段。可以考慮在Awake()或者OnEnable()中自動檢測執行實例預制體對象。

4. Learn how to use version control system (VCS) 【學習如何使用版本控制系統(VCS)】

你可以已經知道Git、Sbuversion或者其他版本控制工具。可能實際上也只是知道,而并不是很熟悉。其實我們應該了解我們所使用的的VCS的可能不經常使用的另一些重要功能。為什么呢?因為VCS系統比我們想象的要強大的多,而大部分人只是用來備份和同步解決方案。例如,你是否知道GIT是可以允許你隱藏你做的更改,以便你快速處理而不需要向主分支提交任何內容。

程序員傾向于注釋掉代碼塊,以便于稍后來使用。不過不建議這樣做。如果你使用VCS,你可以學習如何快速查看先前的版本文件。當你熟練操作VCS后,你會少很多注視到的無用代碼塊,讓你的代碼看起來更簡潔好看。

下面的鏈接是一個GIT用戶的版本代碼查看的使用演示:

5. Learn to write editor scripts 【學習編寫編輯器腳本(工具腳本,編輯器擴展腳本等)】

Unity作為游戲引擎,在擴展性方面是非常棒的(參見Asset Store)。學習如何編寫編輯器腳本并利用這方面知識。你不需要為腳本創建過多的GUI,它是一些可以做非常有用的事情的簡單菜單項。以下是我不久前創建的編輯器腳本的一些示例:

Google Sheets.cvs download——我有一個保存在Google云盤的電子轉換表格。該工具可以自動下載為最新的.cvs文件,所以我從來沒有手動去下載過。

Randomize the position,rotation and size of trees——當有很多樹的時候,可以使它們看起來想一個森林,而不是像格子一樣整齊排列。

Create distribution(創建分發)——為指定目標創建一個可以將所有文件移動到或者復制進去的路徑。

String replace in the sources(資源文件的字符串替換)——我有幾個文件,其中包含該工具的不同的程序版本。

你可以從官方文檔中學習如何編寫編輯器腳本。

6. Learn to program defensively 【學習防御性編程

防御性編程是防御式設計的一種形式,旨在確保在不可預見的情況下維持軟件可發展性的功能。防御性編程技術特別是在軟件被濫用時應用更為廣泛。

通常,當你寫MonoBehaviours時,你應該確保以下幾點:

1、所有需要用到的參考是設置的
2、所有必須的組件是存在的
3、如果你使用單例,確保它們是存在的
4、如果你搜索對象或者想要找到某些屬性,請盡可能用最快速的方法
5、混合編輯器代碼在運行場景前進行多次檢測
For many of these checks you can use asserts. You should also read A Story of NullPointerException Part 1 and 2.

7. Implement in-editor and/or in-game cheats 【在編輯器或者游戲中實現作弊系統)】

在學習如何編寫編輯器腳本后,你應該能夠編寫一組編輯器中的作弊工具。它可以通過菜單選項來解鎖一些東西。(例如,所有的等級限制)。這真的很容易編寫。

? 通常你都應該寫一個作弊工具,它可以讓你:
? 解鎖所有等級限制、角色、道具等。
? 加一個無敵。
? 加減數值,如,時間、金錢、硬幣等。
? 使自己看到玩家看不到的東西(上帝視角)。
? 其它任何可以幫助你測試你的游戲的東西都可以。

當然更實用但是也更難寫的是游戲中的作弊秘籍。這些類型的作弊可以在Unity編輯器之外執行,但是你必須考慮到底需要怎么執行。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 程序員
    +關注

    關注

    4

    文章

    954

    瀏覽量

    30340
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    MediaTek與Unity中國簽署合作備忘錄

    MediaTek 在上海國際汽車工業展覽會上與 Unity 中國正式簽署合作備忘錄。本次深度合作將基于 MediaTek 和 Unity 中國各自的軟硬件優勢,攜手開啟全新的技術探索,雙方將在
    的頭像 發表于 04-30 14:58 ?385次閱讀

    將應用程序工具套件集成到Unity 3D OpenVINO?過程中遇到\"DLLNotFound異常\"錯誤怎么解決?

    。 在機器上設置所有環境路徑,并且可以全局訪問每個依賴關系/dll。 Unity 3D 編輯器無法找到任何依賴關系,并引發DLLNotFound Exception。 項目可以獨立構建和運行。
    發表于 03-05 06:22

    TMS320C6000程序員指南

    電子發燒友網站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補充

    電子發燒友網站提供《TMS320C55x DSP CPU程序員參考補充.pdf》資料免費下載
    發表于 12-21 11:36 ?3次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補充

    UCD3138A64/UCD3138128程序員手冊

    電子發燒友網站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費下載
    發表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    機械革命發布CODE AI程序員

    近日,英特爾新質生產力技術生態大會在成都舉行,機械革命作為重要參展商帶來了多款明星產品引爆全場!其中更是在AI PC軟件生態產品發布分論壇上,Intel、智譜、機械革命三方聯合發布了專為程序員設計的CODE AI程序員本,成為本次大會的一大亮點。
    的頭像 發表于 11-30 10:34 ?1071次閱讀

    Linux驅動程序程序員指南

    電子發燒友網站提供《Linux驅動程序程序員指南.pdf》資料免費下載
    發表于 11-22 15:53 ?0次下載
    Linux驅動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    默克1.55億歐元收購Unity-SC,推動電子業務發展

    德國默克公司近日宣布,以1.55億歐元成功收購法國計量和芯片檢測設備公司Unity-SC。此次收購旨在推動默克電子業務的進一步擴展與發展。
    的頭像 發表于 11-11 16:00 ?798次閱讀

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰。程序員需深化技能、拓寬知識應對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發表于 11-08 10:17 ?513次閱讀

    第五屆長沙·中國1024程序員節開幕

    據官方媒體報道,10月24日;? 第五屆長沙·中國1024程序員節在湖南湘江新區開幕;本次中國1024程序員節以“智能應用新生態”為主題。設置有岳麓對話、技術英雄會、主題峰會及賽事、展覽等活動,一場
    的頭像 發表于 10-25 15:42 ?473次閱讀

    請問Unity Gain Bandwith是什么?

    請問Unity Gain Bandwith是什么?
    發表于 09-06 07:42

    Unity中國與洲明科技攜手共創光顯新紀元

    近日,Unity中國與洲明科技在業界矚目中宣布達成戰略合作,標志著雙方在光顯技術領域的深度合作正式拉開帷幕。此次合作,雙方將深度融合各自在技術與資源上的優勢,共同探索實時3D內容創作的新邊界,以及IP運營、內容創作平臺與生態的無限可能。
    的頭像 發表于 07-27 14:32 ?933次閱讀

    Unity中國與洲明科技達成戰略合作

    近日,為期三天、備受矚目的全球Unity開發者大會 Unite2024在上海開幕。
    的頭像 發表于 07-27 09:40 ?559次閱讀

    程序員節視頻創意大賽,用串口屏贏取千元大獎

    10月24日,程序員專屬的節日里,我們盛大開啟“程序員節視頻創意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節視頻創意大賽,用串口屏贏取千元大獎

    程序員節視頻創意盛宴,邀您共襄盛舉!

    10月24日,程序員專屬的節日里,我們盛大開啟“程序員節視頻創意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節視頻創意盛宴,邀您共襄盛舉!
    主站蜘蛛池模板: 99久久99久久精品免费看子伦 | 看黄在线观看 | 俺去啦在线视频 | 日本三级最新中文字幕电影 | 日韩卡1卡2卡三卡四卡二卡免 | 超级极品白嫩美女在线 | 糖心vlog麻豆精东影业传媒 | 日本人色道| 天天操天天搞 | 黄a级免费| 97国内精品久久久久久久影视 | 寄宿日记免费看 | 人人福利| 一卡二卡三卡四卡无卡在线 | 天天干夜夜噜 | 亚洲欧美视频 | 午夜视频福利在线 | 国产午夜毛片一区二区三区 | 大象焦伊人久久综合网色视 | 韩日中文字幕 | 色吧首页 | 色天天综合色天天看 | 美女张开大腿让男人捅 | 成人欧美一区二区三区视频不卡 | 美女被强插 | 欧美在线天堂 | 久草视频资源在线 | 天天鲁天天爽精品视频 | 国产精品一区二区三区四区五区 | 国产精品三级在线观看 | 亚洲九九香蕉 | 色老头在线精品视频在线播放 | 黄色录像大全 | 久久电影福利 | 日韩欧美亚洲综合一区二区 | 免费观看在线视频 | 婷婷色九月综合激情丁香 | 国产精品资源 | 天天射天天干天天色 | 亚洲综合五月天 | 亚洲一区中文字幕在线观看 |