Manajan Kunshin Unity

Hadin kai wani dandali ne da ya dade yana ci gaba da bunkasa. Koyaya, lokacin aiki a ciki tare da ayyuka da yawa a lokaci guda, har yanzu kuna iya fuskantar matsaloli wajen amfani da tushen gama gari (.cs), ɗakunan karatu (.dll) da sauran kadarorin (hotuna, sautuna, ƙira, prefabs). A cikin wannan labarin za mu yi magana game da kwarewarmu tare da mafita na asali ga irin wannan matsala don Unity.

Manajan Kunshin Unity

Hanyoyin Rarraba Abubuwan Rarraba Rarraba

Akwai fiye da hanya ɗaya don amfani da albarkatun da aka raba don ayyuka daban-daban, amma kowace hanya tana da ribobi da fursunoni.

1. Kwafi - mun kwafi albarkatun tsakanin ayyukan "da hannu."

Sakamakon:

  • Ya dace da kowane nau'in albarkatu.
  • Babu matsalolin dogaro.
  • Babu matsaloli tare da GUIDs na kadari.

Fursunoni:

  • Manyan ma'ajin ajiya.
  • Babu yiwuwar yin sigar.
  • Wahalar bin diddigin canje-canje zuwa albarkatun da aka raba.
  • Wahalar sabunta albarkatun da aka raba.

2. Git submodules - rarraba albarkatun da aka raba ta hanyar submodules na waje.

Sakamakon:

  • Kuna iya aiki tare da maɓuɓɓuka.
  • Kuna iya rarraba dukiya.
  • Babu matsalolin dogaro.

Fursunoni:

  • Ana buƙatar ƙwarewar Git.
  • Git ba shi da abokantaka sosai tare da fayilolin binary - dole ne ku haɗa LFS.
  • Ikon shiga don ma'ajiyar ajiya.
  • Wahala tare da haɓakawa da rage juzu'i.
  • Haɗuwa da GUID na iya yiwuwa kuma babu takamaiman ɗabi'a a ɓangaren Unity don warware su.

3. NuGet - rarraba ɗakunan karatu ta hanyar fakitin NuGet.

Sakamakon:

  • Aiki mai dacewa tare da ayyukan da ba su dogara da Haɗin kai ba.
  • Sauƙaƙe siga da ƙudurin dogaro.

Fursunoni:

  • Haɗin kai ba zai iya aiki tare da fakitin NuGet daga cikin akwatin (a kan GitHub za ku iya nemo Manajan Kunshin NuGet don Haɗin kai, wanda ke gyara wannan, amma akwai wasu nuances).
  • Matsalolin rarraba wasu nau'ikan kadara.

4. Unity Package Manager - rarraba albarkatun da aka raba ta hanyar mafita ta asali don Hadin kai.

Sakamakon:

  • Ƙaƙwalwar ƙasa don aiki tare da fakiti.
  • Kariya daga sake rubutawa .meta fayiloli a cikin fakiti saboda rigingimun GUID.
  • Yiwuwar sigar.
  • Ikon rarraba kowane nau'in albarkatun don Unity.

Fursunoni:

  • Har yanzu rikice-rikice na GUID na iya faruwa.
  • Babu takardun aiki don aiwatarwa.

Hanya ta ƙarshe tana da fa'idodi fiye da rashin amfani. Duk da haka, ba shi da farin jini sosai a yanzu saboda rashin takardun shaida, sabili da haka za mu tsaya a kan shi daki-daki.

Manajan Kunshin Unity

Manajan Kunshin Unity (UPM) kayan aikin sarrafa fakiti ne. An ƙara shi a cikin Unity 2018.1 kuma an yi amfani dashi kawai don fakitin da Unity Technologies suka haɓaka. Koyaya, farawa da sigar 2018.3, ya zama mai yiwuwa don ƙara fakiti na al'ada.

Manajan Kunshin Unity
Interface Manager Unity Package

Fakitin ba sa ƙarewa a cikin hanyoyin aikin (littafin kadarorin). Suna cikin wani kundin adireshi daban %projectFolder%/Library/PackageCache kuma kada ku shafi aikin ta kowace hanya, kawai ambaton su a cikin lambar tushe yana cikin fayil ɗin packages/manifest.json.

Manajan Kunshin Unity
Fakiti a cikin tsarin fayil ɗin aikin

Tushen fakitin

UPM na iya amfani da tushen fakiti da yawa:

1. Tsarin fayil.

Sakamakon:

  • Gudun aiwatarwa.
  • Baya buƙatar kayan aikin ɓangare na uku.

Fursunoni:

  • Wahala a sigar.
  • Ana buƙatar samun dama ga tsarin fayil don duk wanda ke aiki tare da aikin.

2. Git wurin ajiya.

Sakamakon:

  • Duk abin da kuke buƙata shine ma'ajin Git.

Fursunoni:

  • Ba za ku iya canzawa tsakanin sigogin ta taga UPM ba.
  • Ba ya aiki tare da duk ma'ajin Git.

3. npm ma'ajiyar.

Sakamakon:

  • Cikakken yana goyan bayan aikin UPM kuma ana amfani dashi don rarraba fakitin Haɗin kai na hukuma.

Fursunoni:

  • A halin yanzu yana watsi da duk nau'ikan fakitin kirtani ban da "-preview".

A ƙasa za mu kalli aiwatar da UPM + npm. Wannan kullin ya dace saboda yana ba ku damar aiki tare da kowane nau'in albarkatu da sarrafa nau'ikan fakiti, kuma yana goyan bayan ƙirar UPM ta asali.

Kuna iya amfani da shi azaman ma'ajiyar npm Verdaccio. Akwai daki-daki takardun shaida, kuma kawai ana buƙatar umarni biyu don gudanar da shi.

Kafa muhalli

Da farko kuna buƙatar shigarwa node.js.

Ƙirƙirar kunshin

Don ƙirƙirar fakiti, kuna buƙatar sanya fayil ɗin package.json, wanda zai kwatanta shi, zuwa kundin adireshi tare da abubuwan da ke cikin wannan kunshin. Kuna buƙatar yin waɗannan abubuwa:

Je zuwa kundin aikin da muke son yin kunshin.

Gudun umarnin npm init kuma shigar da ƙimar da ake buƙata yayin tattaunawa. Don suna, saka sunan a tsarin yankin baya, misali com.plarium.somepackage.
Don dacewa da nuna sunan fakitin, ƙara kayan nunin Sunan zuwa package.json kuma cika shi.

Tun da npm yana js-oriented, fayil ɗin yana ƙunshe da manyan abubuwa da kaddarorin rubutun da ba mu buƙata, waɗanda Unity ba ya amfani da su. Zai fi kyau a cire su don kada a lalata bayanin kunshin. Fayil ɗin ya kamata yayi kama da wani abu kamar haka:

  1. Je zuwa kundin aikin da muke son yin kunshin.
  2. Gudun umarnin npm init kuma shigar da ƙimar da ake buƙata yayin tattaunawa. Don suna, saka sunan a tsarin yankin baya, misali com.plarium.somepackage.
  3. Don dacewa da nuna sunan fakitin, ƙara kayan nunin Sunan zuwa package.json kuma cika shi.
  4. Tun da npm yana js-oriented, fayil ɗin yana ƙunshe da manyan abubuwa da kaddarorin rubutun da ba mu buƙata, waɗanda Unity ba ya amfani da su. Zai fi kyau a cire su don kada a lalata bayanin kunshin. Fayil ɗin ya kamata yayi kama da wani abu kamar haka:
    {
     "name": "com.plarium.somepackage",
     "displayName": "Some Package",
     "version": "1.0.0",
     "description": "Some Package Description",
     "keywords": [
       "Unity",
       "UPM"
     ],
     "author": "AUTHOR",
     "license": "UNLICENSED"
    }

  5. Buɗe Haɗin kai kuma samar da fayil ɗin .meta don package.json (Unity ba ya ganin kadarori ba tare da fayilolin .meta ba, fakiti don Unity ana buɗewa ana karantawa kawai).

Aika kunshin

Don aika kunshin kuna buƙatar gudanar da umarni: npm publish --registry *адрес до хранилища пакетов*.

Shigarwa da sabunta fakiti ta hanyar Unity Package Manager

Don ƙara fakiti zuwa aikin Unity, kuna buƙatar:

  1. Ƙara zuwa fayil manifest.json bayani game da tushen fakitin. Don yin wannan kuna buƙatar ƙara kayan scopedRegistries da kuma nuna iyakoki da adireshin tushen inda za a bincika takamammen iyakoki.
    
    "scopedRegistries": [
       {
         "name": "Main",
         "url": "адрес до хранилища пакетов",
         "scopes": [
           "com.plarium"
         ]
       }
     ]
    
  2. Je zuwa Unity kuma buɗe taga Mai sarrafa Package (aiki tare da fakiti na al'ada ba shi da bambanci da aiki tare da waɗanda aka gina a ciki).
  3. Zaɓi Duk Fakitin.
  4. Nemo kunshin da kuke buƙata kuma ƙara shi.

Manajan Kunshin Unity

Yin aiki tare da tushe da gyara kuskure

Domin a haɗa tushen tushen zuwa aikin, kuna buƙatar ƙirƙirar Ma'anar Majalisa don kunshin.

Amfani da fakiti baya iyakance zaɓuɓɓukan gyara kuskure. Koyaya, lokacin aiki tare da fakiti a cikin Unity, ba za ku iya zuwa IDE ba ta danna kan kuskure a cikin na'ura wasan bidiyo idan kuskuren ya faru a cikin kunshin. Wannan shi ne saboda gaskiyar cewa Unity ba ya ganin rubutun a matsayin fayiloli daban, tun lokacin da ake amfani da Ma'anar Majalisar ana tattara su cikin ɗakin karatu kuma an haɗa su cikin aikin. Lokacin aiki tare da tushe daga aikin, danna zuwa IDE yana samuwa.

Rubutun a cikin aikin tare da kunshin da aka haɗa:

Manajan Kunshin Unity
Rubutun daga fakitin tare da wurin karya aiki:

Manajan Kunshin Unity

Gyaran gaggawa ga fakiti

Fakitin haɗin kai da aka ƙara zuwa aikin ana karantawa kawai, amma ana iya gyara su a cikin ma'ajin fakitin. Don yin wannan kuna buƙatar:

  1. Je zuwa kunshin a cikin cache kunshin.

    Manajan Kunshin Unity

  2. Yi canje-canjen da suka dace.
  3. Sabunta sigar cikin fayil package.json.
  4. Aika kunshin npm publish --registry *адрес до хранилища пакетов*.
  5. Sabunta sigar fakitin zuwa wanda aka gyara ta hanyar dubawar UPM.

Rikicin shigo da fakiti

Rikicin GUID masu zuwa na iya faruwa lokacin shigo da fakiti:

  1. Kunshin - kunshin. Idan, lokacin shigo da fakitin, an gano cewa an riga an ƙara fakitin sun ƙunshi kadarori masu GUID iri ɗaya, kadarorin da suka dace da GUIDs daga fakitin da aka shigo da su ba za a ƙara su cikin aikin ba.
  2. Kunshin aiki ne. Idan, lokacin shigo da kunshin, an gano cewa aikin yana ƙunshe da kadarori tare da GUIDs masu dacewa, to, kadarorin da ke cikin kunshin ba za a ƙara su cikin aikin ba. Duk da haka, kadarorin da suka dogara da su za su fara amfani da kadarorin daga aikin.

Canja wurin kadarori daga aiki zuwa kunshin

Idan kun canja wurin kadara daga aikin zuwa fakiti yayin da Unity ke buɗewa, za a adana ayyukansa, kuma hanyoyin haɗin gwiwa a cikin kadarorin dogaro za su fara amfani da kadari daga fakitin.

Muhimmanci: Lokacin yin kwafin wani kadara daga aiki zuwa fakiti, rikicin "Package - Project" da aka kwatanta a sashin da ke sama zai faru.

Matsalolin da za a iya magance rikice-rikice

  1. Sake sanya GUIDs ta amfani da namu algorithms lokacin shigo da duk kadarorin don kawar da karo.
  2. Ƙara duk kadarorin zuwa aiki ɗaya sannan a raba su cikin fakiti.
  3. Ƙirƙirar bayanan da ke ɗauke da GUIDs na duk kadarori da gudanar da ingantaccen aiki lokacin aika fakiti.

ƙarshe

UPM sabon bayani ne don rarraba albarkatun da aka raba a cikin Unity, wanda zai iya zama madadin cancanta ga hanyoyin da ake da su. Shawarwarin da aka bayyana a cikin labarin sun dogara ne akan lokuta na gaske. Muna fatan za ku same su da amfani.

source: www.habr.com

Add a comment