91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

unity項(xiàng)目?jī)?yōu)化之資深程序員分享七大方法理順unity項(xiàng)目

電子工程師 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 2018-11-12 14:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一天,我在Quora上看到一個(gè)人問(wèn):程序員如何用超過(guò)一萬(wàn)行的代碼編寫(xiě)一個(gè)項(xiàng)目。軟件做的越大,維護(hù)就越困難,這是一個(gè)不爭(zhēng)的事實(shí)。所以這面臨的問(wèn)題就是如果你不讓你的項(xiàng)目有條理,就會(huì)很難維護(hù)它。到后期,你就會(huì)發(fā)現(xiàn)你并不是在添加新功能而是在把時(shí)間浪費(fèi)在一個(gè)凌亂的項(xiàng)目上。每一個(gè)Unity項(xiàng)目也是這樣的。在我看來(lái),這是非常重要的技巧,可以幫助你保持你的項(xiàng)目條理性。

1. Directory Structure 【目錄結(jié)構(gòu)】

我們不能夠在不提到項(xiàng)目目錄結(jié)構(gòu)的情況下談?wù)摻M織結(jié)構(gòu)。Unity讓你可以自由的創(chuàng)建自己想要的目錄結(jié)構(gòu),也正是因?yàn)檫@樣,它可能讓項(xiàng)目很混亂。下面是我個(gè)人使用的目錄結(jié)構(gòu):

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

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

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

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

不要嘗試將有鏈接性的特定資源文件移動(dòng)到常規(guī)目錄或者通用目錄。例如有些Materials是從模型生成的,不要將它們移動(dòng)到通用目錄或者其他Materials目錄中,因?yàn)槟阆乱淮尉筒恢肋@些材質(zhì)來(lái)自哪里了。

使用從資源商店下載的第三方資源,不要隨便改變其原本的結(jié)構(gòu)。

使用Sandbox(沙盒)目錄來(lái)測(cè)試你不完全確定的東西。當(dāng)做測(cè)試的同時(shí),你最先需要關(guān)心的是一個(gè)合適的組織結(jié)構(gòu)。這樣不論你最后想刪除它還是把它組織到你的項(xiàng)目中都可以。當(dāng)你

與其他人一起工作時(shí),請(qǐng)創(chuàng)建你個(gè)人的SandBox子目錄,例如:Sandbox/JohnyC。

2. Scene hierarchy structure 【場(chǎng)景層次結(jié)構(gòu)】

在項(xiàng)目層次結(jié)構(gòu)之后也有場(chǎng)景層次結(jié)構(gòu)。像上面的一樣,我將提供一個(gè)模板,你可以根據(jù)你自己的需要進(jìn)行調(diào)整。

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

你應(yīng)該遵循幾個(gè)規(guī)則:
所有空對(duì)象應(yīng)位于(0,0,0,)坐標(biāo)點(diǎn),默認(rèn)旋轉(zhuǎn)和縮放。

當(dāng)你運(yùn)行中實(shí)例化對(duì)象時(shí),請(qǐng)確保將其放在_Dynamic中,不要污染層次結(jié)構(gòu)的根目錄,否則將難以瀏覽Scene hierarchy下的文件(文件太多)。

對(duì)于僅用于掛載腳本的空對(duì)象,請(qǐng)使用“@”作為前綴。例如@Cheats

3. Use prefabs for everything 【使用預(yù)制體進(jìn)行所有操作】

Unity中的Prefabs并不完美,但是你會(huì)發(fā)現(xiàn),它們是共享預(yù)配置信息的最好方法。一般來(lái)說(shuō),我們可以把你想放到場(chǎng)景中的所有東西都做成預(yù)制體。你可以?xún)H僅通過(guò)創(chuàng)建預(yù)制體來(lái)從一個(gè)空?qǐng)鼍爸袆?chuàng)建新的關(guān)卡。

我們應(yīng)該使用預(yù)制體的原因是當(dāng)預(yù)制體有更改時(shí),所有預(yù)制體的實(shí)例對(duì)象也會(huì)做相應(yīng)改動(dòng)。如果有一百個(gè)關(guān)卡都需要給相機(jī)添加一個(gè)相同的效果呢?沒(méi)問(wèn)題,如果你的相機(jī)是預(yù)制體,只需要將效果添加到預(yù)制的相機(jī)上就行。

不過(guò)要注意,你不能在另一個(gè)預(yù)制體上使用預(yù)制體??梢允褂么a字段鏈接解決此種預(yù)制體實(shí)例預(yù)制體的情況,并且確保在父預(yù)制體實(shí)例的時(shí)候才運(yùn)行該代碼字段。可以考慮在Awake()或者OnEnable()中自動(dòng)檢測(cè)執(zhí)行實(shí)例預(yù)制體對(duì)象。

4. Learn how to use version control system (VCS) 【學(xué)習(xí)如何使用版本控制系統(tǒng)(VCS)】

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

程序員傾向于注釋掉代碼塊,以便于稍后來(lái)使用。不過(guò)不建議這樣做。如果你使用VCS,你可以學(xué)習(xí)如何快速查看先前的版本文件。當(dāng)你熟練操作VCS后,你會(huì)少很多注視到的無(wú)用代碼塊,讓你的代碼看起來(lái)更簡(jiǎn)潔好看。

下面的鏈接是一個(gè)GIT用戶(hù)的版本代碼查看的使用演示:

5. Learn to write editor scripts 【學(xué)習(xí)編寫(xiě)編輯器腳本(工具腳本,編輯器擴(kuò)展腳本等)】

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

Google Sheets.cvs download——我有一個(gè)保存在Google云盤(pán)的電子轉(zhuǎn)換表格。該工具可以自動(dòng)下載為最新的.cvs文件,所以我從來(lái)沒(méi)有手動(dòng)去下載過(guò)。

Randomize the position,rotation and size of trees——當(dāng)有很多樹(shù)的時(shí)候,可以使它們看起來(lái)想一個(gè)森林,而不是像格子一樣整齊排列。

Create distribution(創(chuàng)建分發(fā))——為指定目標(biāo)創(chuàng)建一個(gè)可以將所有文件移動(dòng)到或者復(fù)制進(jìn)去的路徑。

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

你可以從官方文檔中學(xué)習(xí)如何編寫(xiě)編輯器腳本。

6. Learn to program defensively 【學(xué)習(xí)防御性編程

防御性編程是防御式設(shè)計(jì)的一種形式,旨在確保在不可預(yù)見(jiàn)的情況下維持軟件可發(fā)展性的功能。防御性編程技術(shù)特別是在軟件被濫用時(shí)應(yīng)用更為廣泛。

通常,當(dāng)你寫(xiě)MonoBehaviours時(shí),你應(yīng)該確保以下幾點(diǎn):

1、所有需要用到的參考是設(shè)置的
2、所有必須的組件是存在的
3、如果你使用單例,確保它們是存在的
4、如果你搜索對(duì)象或者想要找到某些屬性,請(qǐng)盡可能用最快速的方法
5、混合編輯器代碼在運(yùn)行場(chǎng)景前進(jìn)行多次檢測(cè)
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 【在編輯器或者游戲中實(shí)現(xiàn)作弊系統(tǒng))】

在學(xué)習(xí)如何編寫(xiě)編輯器腳本后,你應(yīng)該能夠編寫(xiě)一組編輯器中的作弊工具。它可以通過(guò)菜單選項(xiàng)來(lái)解鎖一些東西。(例如,所有的等級(jí)限制)。這真的很容易編寫(xiě)。

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

當(dāng)然更實(shí)用但是也更難寫(xiě)的是游戲中的作弊秘籍。這些類(lèi)型的作弊可以在Unity編輯器之外執(zhí)行,但是你必須考慮到底需要怎么執(zhí)行。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    956

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    大理的AI野心藏不住了——風(fēng)花雪月中千名程序員探討人工智能

    2025 年12月4日至6日第二屆CCF程序員大會(huì)暨大理人工智能與應(yīng)用國(guó)際開(kāi)發(fā)者大會(huì)在大理圓滿(mǎn)落幕。
    的頭像 發(fā)表于 12-24 17:45 ?763次閱讀
    大理的AI野心藏不住了——風(fēng)花雪月中千名<b class='flag-5'>程序員</b>探討人工智能

    國(guó)內(nèi)七大基于大模型的發(fā)射任務(wù)調(diào)度與過(guò)程保障分系統(tǒng)軟件介紹

    ? ? 七大基于大模型的發(fā)射任務(wù)調(diào)度與過(guò)程保障系統(tǒng) ? ?結(jié)合公開(kāi)航天資料、機(jī)構(gòu)技術(shù)路線及商業(yè)航天實(shí)踐,可梳理出涵蓋國(guó)內(nèi)外典型案例的七大智能發(fā)射調(diào)度系統(tǒng)及平臺(tái)。這些系統(tǒng)深度融合大語(yǔ)言模型(LLM
    的頭像 發(fā)表于 12-24 11:08 ?323次閱讀

    七大基于大模型的地面測(cè)控站網(wǎng)調(diào)度分系統(tǒng)軟件的應(yīng)用與未來(lái)發(fā)展

    出的項(xiàng)具有代表性的智能調(diào)度系統(tǒng)/項(xiàng)目。這些系統(tǒng)均深度融合大模型、AI決策與數(shù)據(jù)驅(qū)動(dòng)優(yōu)化技術(shù),是航天測(cè)控體系向智能化、自主化升級(jí)的核心載體。 ? ?1.北京華盛恒輝大模型地面測(cè)控站網(wǎng)調(diào)度分系統(tǒng) ? ?該系統(tǒng)依托大語(yǔ)言模型、多模
    的頭像 發(fā)表于 12-19 15:42 ?426次閱讀

    程序員最常見(jiàn)謊言

    了。 28我已經(jīng)測(cè)試過(guò)了,這個(gè)功能沒(méi)問(wèn)題,可以上線了。 29別擔(dān)心,這個(gè)問(wèn)題很快就能解決。 30代碼快寫(xiě)完了,已經(jīng)完成 90% 了 。 希望大家對(duì)程序員多一些容忍以及諒解! 各位程序員你們都被我說(shuō)中了哪些?說(shuō)說(shuō)你們的觀點(diǎn)
    發(fā)表于 12-10 08:24

    TE Connectivity卓越產(chǎn)品護(hù)航國(guó)家級(jí)石化項(xiàng)目

    項(xiàng)目地處東南沿海,隸屬全國(guó)七大石化產(chǎn)業(yè)基地之一,是推動(dòng)高質(zhì)量共建“一帶一路”倡議、與中東地區(qū)國(guó)家深化產(chǎn)能與投資合作的重點(diǎn)項(xiàng)目之一。
    的頭像 發(fā)表于 12-03 10:40 ?715次閱讀

    地平線與Unity中國(guó)達(dá)成戰(zhàn)略合作

    近日,中國(guó)智駕科技領(lǐng)軍企業(yè)地平線與全球領(lǐng)先的實(shí)時(shí)3D內(nèi)容創(chuàng)作和運(yùn)營(yíng)平臺(tái)Unity正式簽署戰(zhàn)略合作協(xié)議。雙方將深度融合地平線HSD (Horizon SuperDrive) 人機(jī)交互系統(tǒng)與Unity
    的頭像 發(fā)表于 11-03 16:43 ?1596次閱讀

    Unity開(kāi)發(fā)者大會(huì)Unite2025點(diǎn)亮上海,團(tuán)結(jié)引擎加速本土創(chuàng)新落地

    上海2025年10月29日?/美通社/ -- 10月23日,第十屆Unite開(kāi)發(fā)者大會(huì)在上海北外灘盛大開(kāi)幕。作為Unity年度技術(shù)盛會(huì),本屆大會(huì)設(shè)置七大專(zhuān)場(chǎng),帶來(lái)60多場(chǎng)技術(shù)演講,數(shù)千名開(kāi)發(fā)者齊聚
    的頭像 發(fā)表于 10-29 17:08 ?695次閱讀
    <b class='flag-5'>Unity</b>開(kāi)發(fā)者大會(huì)Unite2025點(diǎn)亮上海,團(tuán)結(jié)引擎加速本土創(chuàng)新落地

    奔赴熱AI,碼力全開(kāi)!Talkweb House@1024程序員日系列活動(dòng)圓滿(mǎn)收官

    1024程序員日”系列活動(dòng)至此劃上了一個(gè)圓滿(mǎn)句號(hào)。本屆1024程序員節(jié)以“AI構(gòu)建世界,智能引領(lǐng)未來(lái)”為主題,廣邀技術(shù)大咖、產(chǎn)業(yè)領(lǐng)袖、企業(yè)代表與全球開(kāi)發(fā)者齊聚星城
    的頭像 發(fā)表于 10-27 18:59 ?831次閱讀
    奔赴熱AI,碼力全開(kāi)!Talkweb House@1024<b class='flag-5'>程序員</b>日系列活動(dòng)圓滿(mǎn)收官

    變頻電源與變頻器的七大區(qū)別|吉事勵(lì)專(zhuān)業(yè)解讀

    項(xiàng)目受阻、測(cè)試不準(zhǔn)、設(shè)備損壞等嚴(yán)重后果。 吉事勵(lì)作為專(zhuān)業(yè)變頻電源制造商,將為您詳細(xì)解析變頻電源與變頻器的七大核心區(qū)別,幫助您做出明智選擇。 1、設(shè)計(jì)目的:精密測(cè)試 vs 電機(jī)驅(qū)動(dòng) 變頻電源 的設(shè)計(jì)初衷是為精密電子設(shè)備提供高
    的頭像 發(fā)表于 10-09 14:41 ?812次閱讀
    變頻電源與變頻器的<b class='flag-5'>七大</b>區(qū)別|吉事勵(lì)專(zhuān)業(yè)解讀

    七大無(wú)人機(jī)電磁兼容測(cè)試平臺(tái)系統(tǒng):如何護(hù)航飛行安全

    七大無(wú)人機(jī)電磁兼容測(cè)試平臺(tái)系統(tǒng):如何護(hù)航飛行安全
    的頭像 發(fā)表于 09-12 14:49 ?771次閱讀
    <b class='flag-5'>七大</b>無(wú)人機(jī)電磁兼容測(cè)試平臺(tái)系統(tǒng):如何護(hù)航飛行安全

    工控板SMT貼片加工:七大關(guān)鍵工藝要求詳解?

    一站式PCBA加工廠家今天為大家講講工控板SMT貼片加工工藝要求有哪些?工控級(jí)SMT加工的七大關(guān)鍵工藝要求。作為深耕PCBA行業(yè)20余年的專(zhuān)業(yè)PCBA代工廠深圳領(lǐng)卓電子憑借先進(jìn)的SMT生產(chǎn)線和軍工級(jí)
    的頭像 發(fā)表于 08-06 09:18 ?1099次閱讀
    工控板SMT貼片加工:<b class='flag-5'>七大</b>關(guān)鍵工藝要求詳解?

    第九屆集創(chuàng)賽“法動(dòng)杯”燃爆七大賽區(qū)

    盛夏創(chuàng)新熱潮涌動(dòng),“法動(dòng)杯”燃爆集創(chuàng)賽七大賽區(qū)。第九屆全國(guó)大學(xué)生集成電路創(chuàng)新創(chuàng)業(yè)大賽(簡(jiǎn)稱(chēng)“集創(chuàng)賽”)正如火如荼進(jìn)行中,集創(chuàng)賽七大分賽區(qū)決賽已全面啟動(dòng)。
    的頭像 發(fā)表于 07-23 16:45 ?1548次閱讀

    分布式光伏監(jiān)控系統(tǒng)Acrel-1000在荊門(mén)晨旭屋頂光伏項(xiàng)目中從數(shù)據(jù)采集到能效優(yōu)化

    1. 概述 程瑜 187 0211 2087 湖北荊門(mén)晨旭智能屋頂光伏發(fā)電項(xiàng)目(以下簡(jiǎn)稱(chēng)“本項(xiàng)目”)是響應(yīng)國(guó)家“優(yōu)化能源結(jié)構(gòu),提供更加清潔、可靠的能源”的號(hào)召,投資建設(shè)的分布式光伏發(fā)電應(yīng)用示范
    的頭像 發(fā)表于 07-01 09:14 ?674次閱讀
    分布式光伏監(jiān)控系統(tǒng)Acrel-1000在荊門(mén)晨旭屋頂光伏<b class='flag-5'>項(xiàng)目</b>中從數(shù)據(jù)采集到能效<b class='flag-5'>優(yōu)化</b>

    程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)

    的地址)出發(fā),采用推導(dǎo)的方式,深入淺出的分析了廣大C程序員學(xué)習(xí)和開(kāi)發(fā)中遇到的難點(diǎn)。 2. 從方法論的高度對(duì)C語(yǔ)言在數(shù)據(jù)結(jié)構(gòu)和算法方面的應(yīng)用進(jìn)行了深入講解和闡述。 3. 講解了絕大多數(shù)C程序員開(kāi)發(fā)
    發(fā)表于 05-13 16:45

    MediaTek與Unity中國(guó)簽署合作備忘錄

    MediaTek 在上海國(guó)際汽車(chē)工業(yè)展覽會(huì)上與 Unity 中國(guó)正式簽署合作備忘錄。本次深度合作將基于 MediaTek 和 Unity 中國(guó)各自的軟硬件優(yōu)勢(shì),攜手開(kāi)啟全新的技術(shù)探索,雙方將在
    的頭像 發(fā)表于 04-30 14:58 ?994次閱讀