国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

從零開始創(chuàng)建Unity自定義包Package:一步一步實現(xiàn)您的功能

這篇具有很好參考價值的文章主要介紹了從零開始創(chuàng)建Unity自定義包Package:一步一步實現(xiàn)您的功能。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

內(nèi)容將會持續(xù)更新,有錯誤的地方歡迎指正,謝謝!
?

從零開始創(chuàng)建Unity自定義包Package:一步一步實現(xiàn)您的功能
? ? ?
TechX 堅持將創(chuàng)新的科技帶給世界!

擁有更好的學(xué)習(xí)體驗 —— 不斷努力,不斷進步,不斷探索
TechX —— 心探索、心進??!

助力快速掌握 Package 自定義包的實現(xiàn)

為初學(xué)者節(jié)省寶貴的學(xué)習(xí)時間,避免困惑!


前言:

??在Unity中,自定義包(Package)是一種出色的方法,可以將代碼、資源和功能打包,方便地在不同項目之間共享和分發(fā)。本篇博客將逐步學(xué)習(xí)如何從零開始創(chuàng)建一個自定義的Unity包,以滿足開發(fā)需求。

TechX 教程效果:

unity 添加本地package,Unity知識點,unity,游戲引擎,c#



1、UPM(Unity Package Manager)和包(Package)

1、Package Manager(包管理器)


Unity Package Manager是Unity官方提供的一套工具,用于管理Unity項目中的各種包。它具有以下功能:

1、分發(fā)和更新功能:Package Manager可以快速、輕松地分發(fā)和更新Unity項目中的功能、工具和資源。

2、共享可重用組件:可以使用Package Manager來發(fā)現(xiàn)、共享和使用可重用的組件,這些組件可以加速開發(fā)過程。

3、項目依賴關(guān)系:Package Manager能夠定義項目之間的依賴關(guān)系,解決依賴關(guān)系并下載必要的包,以確保項目能夠正確運行。

4、可擴展性:通過使用Package Manager,可以將Unity擴展為一個可擴展的開放平臺,允許開發(fā)人員共享他們的創(chuàng)意和解決方案。

5、集成到項目中:可以使用Package Manager輕松地將包的內(nèi)容集成到項目中,而無需手動管理文件。


unity 添加本地package,Unity知識點,unity,游戲引擎,c#

2、Package(包)


在Unity中,一個包(Package)是一組代碼、資源和功能的集合,可以作為單元被添加到項目中。包可以包含以下內(nèi)容:

1、C#腳本和程序集:可以將自己的C#腳本和程序集添加到包中,以便在項目中使用。

2、原生插件:如果需要使用原生代碼(如C++)與Unity交互,可以將原生插件添加到包中。

3、模型、紋理、動畫和音頻剪輯等資源:可以將任何類型的資源添加到包中,以供項目使用。

4、包清單文件:每個包都包含一個包清單文件,其中包含有關(guān)包的信息,如名稱、版本、依賴關(guān)系和存儲庫URL。

5、測試:為確保包在不同情況下都能按預(yù)期工作,可以編寫測試并將其添加到包中。

6、CHANGELOG.md文件:在每次發(fā)布新版本時更新CHANGELOG.md文件,以記錄新增功能和錯誤修復(fù)。



2、創(chuàng)建Package包的要求

1、包清單文件(package.json)


每個Unity Package都必須包含一個名為package.json的清單文件。這個文件包含了有關(guān)包的元信息,如名稱、版本、依賴項等。以下是一些package.json中的常見字段:

  • name:包的名稱,必須是小寫字母且不含空格。
  • displayName:包的展示名稱
  • version:包的版本號。
  • unity:指定此包適用的Unity版本。
  • unityRelease:Unity的發(fā)布版本。
  • description:包的描述。
  • keywords:包的關(guān)鍵詞。
  • author:包的作者。
  • dependencies:包的依賴項,指定其他包的版本。
  • samples:包的示例。
  • documentationUrl:包的說明文檔。
{
    "name": "com.companyname.packagename",
    "displayName": "Package Name",
    "version": "0.0.1-prerelease",
    "unity": "2018.3",
    "unityRelease": "0f1",
    "description": "This is Test Package",
    "keywords": ["Test","Package"],
    "author": "TechX",
    "dependencies":["com.unity.nuget.newtonsoft-json": "2.0.0"],
    "samples": [
	    {
	      "displayName": "Cinemachine Example Scenes",
	      "description": "Sample scenes illustrating various ways to use Cinemachine",
	      "path": "Samples~/Cinemachine Example Scenes"
	    }
  	],
  	"documentationUrl": "https://docs.unity3d.com/Packages/com.unity.cinemachine@2.9/manual/index.html",
}

2、文件結(jié)構(gòu):


包的文件結(jié)構(gòu)應(yīng)該遵循Unity Package的布局約定。這將確保包可以正確導(dǎo)入到其他項目中,并且可以在Unity Package Manager中正常工作。

unity 添加本地package,Unity知識點,unity,游戲引擎,c#

創(chuàng)建Unity Package時,包的文件結(jié)構(gòu)布局非常重要,它決定了包在導(dǎo)入到其他項目中時的組織和使用方式。以下是一個典型的Unity Package的文件結(jié)構(gòu)布局詳細說明:

1.、包根目錄:

  • Unity Package的所有文件和文件夾都會位于一個根目錄下。這個根目錄的名稱通常是包的名稱,用小寫字母表示,不包含空格。

2、package.json:

  • 這是包的清單文件,包含有關(guān)包的元信息,如名稱、版本、依賴項等。它必須位于包的根目錄下。

3、Documentation文件夾(可選):

-這是包的說明文件夾Documentation,可以在其中添加Markdown或HTML文件,以便其他開發(fā)者了解如何使用包。

4、Editor文件夾(可選):

  • 如果包包含一些只在編輯器中使用的功能,可以創(chuàng)建一個名為Editor的文件夾。在這里放置的腳本將只在Unity編輯器環(huán)境中執(zhí)行。

5、Runtime文件夾(可選):

  • 如果包包含在游戲運行時使用的功能,可以創(chuàng)建一個名為Runtime的文件夾。這里的腳本將在游戲運行時執(zhí)行。

6、scripts文件夾(可選):

  • 如果包包含一些通用的C#腳本,可以創(chuàng)建一個名為Scripts的文件夾,并將腳本放置在其中。這可以幫助更好地組織代碼。

7、Resources文件夾(可選):

  • 如果包包含一些資源文件,如紋理、模型、聲音等,可以創(chuàng)建一個名為Resources的文件夾,并將資源文件放置在其中。這些資源可以通過Resources.Load函數(shù)在運行時加載。

8、Prefabs文件夾(可選):

  • 如果包包含一些預(yù)制體,可以創(chuàng)建一個名為Prefabs的文件夾,并將預(yù)制體放置在其中。

9、Scenes文件夾(可選):

  • 如果包包含一些場景文件,可以創(chuàng)建一個名為Scenes的文件夾,并將場景文件放置在其中。

10、Editor Default Resources文件夾(可選):

  • 如果包包含在編輯器中使用的資源,例如圖標、樣式等,可以創(chuàng)建一個名為Editor Default Resources的文件夾,并將資源放置在其中。

11、Tests文件夾(可選):

  • 如果為包編寫了測試,可以創(chuàng)建一個名為Tests的文件夾,并將測試相關(guān)的文件和腳本放置在其中。Tests/Editor用于編輯器測試,Tests/Runtime用于運行時測試。

12、Examples文件夾(可選):

  • 如果為其他開發(fā)者提供使用示例,可以創(chuàng)建一個名為Examples的文件夾,并在其中添加演示場景、腳本和資源。

3、CHANGELOG.md文件


為了方便用戶了解每個版本的變化,建議在每次發(fā)布新版本時更新CHANGELOG.md文件。在文件中記錄新增功能、改進和錯誤修復(fù)。

4、合適的命名

給包起一個合適的名稱,這將有助于其他開發(fā)者理解包的用途和內(nèi)容。名稱應(yīng)該簡潔明了,能夠表達出包的主要功能或特點。

5、版本管理

在package.json中正確管理您的包的版本號。每次對包進行更改或添加新功能時,都應(yīng)該適當?shù)馗掳姹咎?,以便其他開發(fā)者可以知道何時有新的更新可用。

6、文檔

為包編寫文檔,包括如何安裝、如何使用以及包含的功能和資源的說明。好的文檔可以幫助其他開發(fā)者更容易地使用您的包。



3、創(chuàng)建Package包

1 、Embeded Package


Embeded Package 嵌入式包是直接在Unity項目中創(chuàng)建的包,以子文件夾的形式存在于項目的Packages目錄下。以下是嵌入式包的具體步驟:

1、在工程文件的Packages文件夾下創(chuàng)建一個文件夾作為包的根目錄,文件夾的名稱為包的展示名稱(不是包的名稱),假設(shè)包的展示名稱為Test Package。
unity 添加本地package,Unity知識點,unity,游戲引擎,c#

2、在包的根目錄下創(chuàng)建 package.json 文件
unity 添加本地package,Unity知識點,unity,游戲引擎,c#

3、填寫 package.json 的信息

{
    "name": "com.techx.testpackage",   		//包名稱全部小寫
    "displayName": "Test Package",     		//包的展示名
    "version": "0.0.1",                		//包的版本號
    "unity": "2018.3",                 		//Unity版本
    "unityRelease": "0f1",					//Unity發(fā)布版本
    "description": "This is Test Package",  //包的描述
    "keywords": ["Test","Package"],         //包的關(guān)鍵詞
    "author": "TechX",                      //包的作者
    "dependencies":[],                      //包的依賴
    "samples": [],                          //包的示例
}

2 、Local Package


本地路徑包是指您在計算機上任意位置創(chuàng)建的包,然后在其他項目的 manifest.json 文件中指定包的本地文件路徑就可以了。

鑒于創(chuàng)建包的時候需要Unity的工程項目,我們首先在Unity項目中開發(fā)包,在包開發(fā)完成后把文件夾拖出放到指定的存儲位置;

本地包和嵌入式包的創(chuàng)建方式是一樣的,只是位置不同和加載包的方式不同而已。




4、開發(fā)Package包


確保包的文件結(jié)構(gòu)布局符合Unity的包布局約定。根據(jù)需要,創(chuàng)建適當?shù)奈募A(如Editor、Runtime、Tests、等)來組織您的資源和腳本。

unity 添加本地package,Unity知識點,unity,游戲引擎,c#

  • Editor文件夾:

??1、包含一些只在編輯器中使用的功能,在這里放置的腳本將只在Unity編輯器環(huán)境中執(zhí)行

??2、在Editor文件添加Unity.TestPackage.Editor.asmdef文件

  • Runtime文件夾:

??1、包含在游戲運行時使用的功能,這里的腳本將在游戲運行時執(zhí)行。

??2、在Editor文件添加Unity.TestPackage.asmdef文件

  • Tests文件夾:

??1、如果為包編寫了測試,將測試相關(guān)的文件和腳本放置在其中。Tests/Editor用于編輯器測試,Tests/Runtime用于運行時測試。

??2、在Tests/Editor文件添加Unity.TestPackage.Editor.Tests.asmdef文件

??3、在Tests/Runtime文件添加Unity.TestPackage.Tests.asmdef文件

  • Examples文件夾:如果為其他開發(fā)者提供使用示例,在其中添加演示場景、腳本和資源

unity 添加本地package,Unity知識點,unity,游戲引擎,c#



5、更新CHANGELOG.md


在包根目錄下創(chuàng)建一個名為CHANGELOG.md的文件,用于記錄每個新版本的變更、新功能和錯誤修復(fù)。

unity 添加本地package,Unity知識點,unity,游戲引擎,c#


6、引入Package包


在工程中引入本地包的方式:

  • 修改manifest.json文件

    1、打開工程Packages文件夾中的manifest.json文件。

    2、將包的路徑添加到manifest.json文件中。

{
  "dependencies": {
    "com.techx.testpackage": "file:../UPM/Test Package",
    }
}
  • 通過Unity Package Manager添加包

    1、在Unity的主菜單欄中依次點Window > Package Manager打開包管理器。

    2、點擊包管理器左上角的+號,選擇Add package from disk...選擇包。

unity 添加本地package,Unity知識點,unity,游戲引擎,c#


TechX —— 心探索、心進取!

每一次跌倒都是一次成長

每一次努力都是一次進步

END

感謝您閱讀本篇博客!希望這篇內(nèi)容對您有所幫助。如果您有任何問題或意見,或者想要了解更多關(guān)于本主題的信息,歡迎在評論區(qū)留言與我交流。我會非常樂意與大家討論和分享更多有趣的內(nèi)容。

如果您喜歡本博客,請點贊和分享給更多的朋友,讓更多人受益。同時,您也可以關(guān)注我的博客,以便及時獲取最新的更新和文章。

在未來的寫作中,我將繼續(xù)努力,分享更多有趣、實用的內(nèi)容。再次感謝大家的支持和鼓勵,期待與您在下一篇博客再見!
文章來源地址http://www.zghlxwxcb.cn/news/detail-765269.html

到了這里,關(guān)于從零開始創(chuàng)建Unity自定義包Package:一步一步實現(xiàn)您的功能的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Android一步一步教你實現(xiàn)Emoji表情鍵盤

    Android一步一步教你實現(xiàn)Emoji表情鍵盤

    背景: 說到聊天,就離不開文字、表情和圖片,表情和圖片增加了聊天的趣味性,讓原本無聊的文字瞬間用表情動了起來,今天給大家?guī)淼氖潜砬殒I盤,教你一步一步實現(xiàn),先來看下效果圖: 效果圖 功能: 1、如何控制表情鍵盤與輸入法的切換 2、如何解析表情 3、如何處

    2024年02月16日
    瀏覽(18)
  • 一步一步學(xué)OAK之三:實現(xiàn)RGB相機場景切換

    創(chuàng)建新建3-rgb-scene文件夾 用vscode打開該文件夾 新建一個main.py 文件 安裝依賴前需要先創(chuàng)建和激活虛擬環(huán)境,我這里已經(jīng)創(chuàng)建了虛擬環(huán)境OAKenv,在終端中輸入cd…退回到OAKenv的根目錄,輸入 OAKenvScriptsactivate 激活虛擬環(huán)境 安裝pip依賴項: 在main.py中導(dǎo)入項目需要的包

    2024年02月11日
    瀏覽(20)
  • 一步一步學(xué)OAK之七:通過OAK相機實現(xiàn)特征跟蹤

    特征跟蹤,也稱為目標跟蹤或點跟蹤,是指在序列圖像中追蹤物體或者場景中的特定特征點的過程。特征點可以是具有獨特性質(zhì)的像素,如角點、邊緣、紋理等。通過跟蹤這些特征點,可以在連續(xù)圖像幀中確定它們的位置、速度和運動軌跡。 在計算機視覺和圖像處理中,特征

    2024年02月12日
    瀏覽(38)
  • 一步一步學(xué)OAK之五:通過OAK相機實現(xiàn)邊緣檢測

    邊緣檢測是計算機視覺和圖像處理中的一種基本技術(shù),用于識別圖像中物體和圖像中不同區(qū)域之間的邊界或輪廓。邊緣是圖像中具有明顯灰度或強度變化的區(qū)域,通常表示不同物體、紋理或形狀之間的邊界。 邊緣檢測算法通過分析圖像中像素的灰度值或強度變化情況,以找到

    2024年02月12日
    瀏覽(16)
  • 一步一步學(xué)OAK之六:通過OAK相機實現(xiàn)特征檢測

    特征檢測是指在數(shù)字圖像中自動尋找并定位具有特定特征的圖像區(qū)域或圖像點。這些特征可以是在圖像中具有獨特外觀、結(jié)構(gòu)或統(tǒng)計特性的對象、邊緣、角點、紋理等。 特征檢測在計算機視覺中起到至關(guān)重要的作用,它是許多計算機視覺任務(wù)的基礎(chǔ),如目標檢測、跟蹤、姿態(tài)

    2024年02月11日
    瀏覽(23)
  • Python + OpenCV一步一步地實現(xiàn)圖像拼接(原理與代碼)

    Python + OpenCV一步一步地實現(xiàn)圖像拼接(原理與代碼)

    圖像拼接可以理解為三大步: 按順序讀取多幅圖像,并保證圖像按照從左到右的順序。 發(fā)現(xiàn)這些圖像像素之間的相關(guān)性(涉及到 單應(yīng)性 )。 將這些圖像拼接成為一張全景圖像。 首先,需要了解如下幾個概念。 Python OpenCV SIFT特征提取的原理與代碼實現(xiàn)_喬卿的博客-CSDN博客

    2024年02月04日
    瀏覽(33)
  • 一步一步學(xué)OAK之十一:實現(xiàn)在RGB相機上進行對象跟蹤

    這里我們用到了mobilenet-ssd_openvino_2021.4_6shave.blob模型文件,需要下載并存儲到本地文件夾,不會下載的小伙伴可以看我前面的博客,里面有介紹,這里直接使用,不介紹下載過程了。 創(chuàng)建新建13-object-tracker-on-rgb文件夾 用vscode打開該文件夾 新建一個main.py 文件 安裝依賴前需要

    2024年02月13日
    瀏覽(26)
  • 一步一步學(xué)OAK之十三:實現(xiàn)RGB相機上的空間對象跟蹤

    前面我們實現(xiàn)了在RGB相機上進行物體的對象跟蹤,能夠?qū)崟r跟蹤我們想要追蹤的物探,但是,如果我們要想知道這個物體的三維空間坐標,該如何實現(xiàn)呢?要想實現(xiàn)這個功能,我們需要用到DepthAI API提供的MobileNetSpatialDetectionNetwork節(jié)點和ObjectTracker節(jié)點,現(xiàn)在我們來實現(xiàn)它。 這

    2024年02月12日
    瀏覽(17)
  • VS2019配置opencv4.6.0手把手一步一步實現(xiàn)

    VS2019配置opencv4.6.0手把手一步一步實現(xiàn)

    引言:配置環(huán)境真是讓人痛苦不堪,踩了無數(shù)個坑,網(wǎng)上的文章五花八門,完全不知道參考哪個,直接勸退。為了能順利配置,此處進行記錄,以后可以回過頭來看,也分享給大家。 我提供了兩種方法配置,一種是針對于一個項目配置,一種是針對所有需要配置opencv的項目。

    2024年02月16日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包