Unity Package Manager

යුනිටි යනු සෑහෙන කාලයක් තිස්සේ පවතින සහ නිරන්තරයෙන් විකාශනය වන වේදිකාවකි. කෙසේ වෙතත්, එකවර ව්‍යාපෘති කිහිපයක් සමඟ එහි වැඩ කරන විට, ඔබට තවමත් පොදු මූලාශ්‍ර (.cs), පුස්තකාල (.dll) සහ වෙනත් වත්කම් (රූප, ශබ්ද, ආකෘති, පෙර සැකසුම) භාවිතා කිරීමේදී දුෂ්කරතා ඇති විය හැක. මෙම ලිපියෙන් අපි Unity සඳහා එවැනි ගැටලුවකට දේශීය විසඳුමක් සමඟ අපගේ අත්දැකීම් ගැන කතා කරමු.

Unity Package Manager

හවුල් සම්පත් බෙදා හැරීමේ ක්‍රම

විවිධ ව්‍යාපෘති සඳහා හවුල් සම්පත් භාවිතා කිරීමට ක්‍රම එකකට වඩා ඇත, නමුත් සෑම ප්‍රවේශයකටම එහි වාසි සහ අවාසි ඇත.

1. අනුපිටපත් කිරීම - අපි "අතින්" ව්‍යාපෘති අතර සම්පත් අනුපිටපත් කරමු.

වාසි:

  • සියලු වර්ගවල සම්පත් සඳහා සුදුසු වේ.
  • යැපුම් ගැටළු නොමැත.
  • වත්කම් GUID සමඟ ගැටළු නොමැත.

එය:

  • යෝධ ගබඩා.
  • සංස්කරණය කිරීමේ හැකියාවක් නොමැත.
  • හවුල් සම්පත් වෙත වෙනස්කම් නිරීක්ෂණය කිරීමේ දුෂ්කරතා.
  • හවුල් සම්පත් යාවත්කාලීන කිරීමේ දුෂ්කරතා.

2. Git උප මොඩියුල - බාහිර උපමොඩියුල හරහා හවුල් සම්පත් බෙදා හැරීම.

වාසි:

  • ඔබට මූලාශ්ර සමඟ වැඩ කළ හැකිය.
  • ඔබට වත්කම් බෙදා හැරිය හැක.
  • යැපුම් ගැටළු නොමැත.

එය:

  • Git පළපුරුද්ද අවශ්‍යයි.
  • Git ද්විමය ගොනු සමඟ ඉතා මිත්‍රශීලී නොවේ - ඔබට LFS සම්බන්ධ කිරීමට සිදුවේ.
  • ගබඩා සඳහා ප්රවේශ පාලනය.
  • අනුවාද උත්ශ්‍රේණි කිරීම සහ පහත හෙලීමේ දුෂ්කරතා.
  • GUID ගැටීම් ඇති විය හැකි අතර ඒවා විසඳීමට යුනිටිගේ පැත්තෙන් පැහැදිලි හැසිරීමක් නොමැත.

3. NuGet - NuGet පැකේජ හරහා හවුල් පුස්තකාල බෙදා හැරීම.

වාසි:

  • Unity මත රඳා නොපවතින ව්යාපෘති සමඟ පහසු වැඩ.
  • පහසු අනුවාදනය සහ යැපුම් විභේදනය.

එය:

  • Unity කොටුවෙන් පිටත NuGet පැකේජ සමඟ ක්‍රියා කළ නොහැක (GitHub හි ඔබට Unity සඳහා NuGet පැකේජ කළමනාකරු සොයාගත හැකිය, එය මෙය නිවැරදි කරයි, නමුත් සමහර සූක්ෂ්මතා ඇත).
  • වෙනත් වර්ගවල වත්කම් බෙදා හැරීමේ දුෂ්කරතා.

4. Unity Package Manager - Unity සඳහා දේශීය විසඳුමක් හරහා හවුල් සම්පත් බෙදා හැරීම.

වාසි:

  • පැකේජ සමඟ වැඩ කිරීම සඳහා දේශීය අතුරු මුහුණත.
  • GUID ගැටුම් හේතුවෙන් පැකේජවල .meta ගොනු උඩින් ලිවීමෙන් ආරක්ෂා වීම.
  • අනුවාදනය කිරීමේ හැකියාව.
  • Unity සඳහා සියලු වර්ගවල සම්පත් බෙදා හැරීමේ හැකියාව.

එය:

  • GUID ගැටුම් තවමත් ඇතිවිය හැක.
  • ක්රියාත්මක කිරීම සඳහා ලියකියවිලි නොමැත.

අවසාන ක්රමය අවාසි වලට වඩා වැඩි වාසි ඇත. කෙසේ වෙතත්, ලේඛන නොමැතිකම නිසා එය දැන් ඉතා ජනප්රිය නොවේ, එබැවින් අපි එය විස්තරාත්මකව වාසය කරමු.

Unity Package Manager

Unity Package Manager (UPM) යනු පැකේජ කළමනාකරණ මෙවලමකි. එය Unity 2018.1 හි එකතු කරන ලද අතර Unity Technologies විසින් වැඩි දියුණු කරන ලද පැකේජ සඳහා පමණක් භාවිතා කරන ලදී. කෙසේ වෙතත්, 2018.3 අනුවාදයෙන් පටන් ගෙන, අභිරුචි පැකේජ එකතු කිරීමට හැකි විය.

Unity Package Manager
Unity Package Manager අතුරුමුහුණත

පැකේජ ව්‍යාපෘති මූලාශ්‍ර (වත්කම් නාමාවලිය) තුළ අවසන් නොවේ. ඒවා වෙනම නාමාවලියක ඇත %projectFolder%/Library/PackageCache සහ ව්‍යාපෘතියට කිසිම ආකාරයකින් බලපාන්නේ නැත, මූලාශ්‍ර කේතයේ ඔවුන්ගේ එකම සඳහන ගොනුවේ ඇත packages/manifest.json.

Unity Package Manager
ව්යාපෘති ගොනු පද්ධතියේ පැකේජ

පැකේජ මූලාශ්ර

UPM හට පැකේජ මූලාශ්‍ර කිහිපයක් භාවිතා කළ හැක:

1. ගොනු පද්ධතිය.

වාසි:

  • ක්රියාත්මක කිරීමේ වේගය.
  • තෙවන පාර්ශවීය මෙවලම් අවශ්ය නොවේ.

එය:

  • අනුවාදනය කිරීමේ අපහසුතාව.
  • ව්‍යාපෘතිය සමඟ වැඩ කරන සෑම කෙනෙකුටම ගොනු පද්ධතියට හවුල් ප්‍රවේශය අවශ්‍ය වේ.

2. Git ගබඩාව.

වාසි:

  • ඔබට අවශ්‍ය වන්නේ Git ගබඩාවක් පමණි.

එය:

  • ඔබට UPM කවුළුව හරහා අනුවාද අතර මාරු විය නොහැක.
  • සියලුම Git repositories සමඟ ක්‍රියා නොකරයි.

3. npm ගබඩාව.

වාසි:

  • UPM ක්‍රියාකාරීත්වයට සම්පුර්ණයෙන් සහය දක්වන අතර නිල Unity පැකේජ බෙදා හැරීමට භාවිතා කරයි.

එය:

  • දැනට "-preview" හැර පැකේජ වල සියලුම තන්තු අනුවාද නොසලකා හරියි.

පහත අපි UPM + npm ක්රියාත්මක කිරීම දෙස බලමු. මෙම බණ්ඩලය පහසු වන්නේ එය ඔබට ඕනෑම ආකාරයක සම්පතක් සමඟ වැඩ කිරීමට සහ පැකේජ අනුවාද කළමනාකරණය කිරීමට ඉඩ සලසන නිසාත්, ස්වදේශීය UPM අතුරුමුහුණතට සම්පූර්ණයෙන්ම සහය දක්වන බැවිනි.

ඔබට එය npm ගබඩාවක් ලෙස භාවිතා කළ හැක වර්ඩසියෝ. සවිස්තරාත්මකව ඇත ප්‍රලේඛනය, සහ එය ක්‍රියාත්මක කිරීමට අවශ්‍ය වන්නේ විධාන කිහිපයක් පමණි.

පරිසරය සකස් කිරීම

මුලින්ම ඔබ ස්ථාපනය කිරීමට අවශ්යයි node.js.

පැකේජයක් නිර්මාණය කිරීම

පැකේජයක් සෑදීමට, ඔබ ගොනුව තැබිය යුතුය package.json, එය විස්තර කරනු ඇත, මෙම පැකේජයේ අන්තර්ගතය සහිත බහලුම වෙත. ඔබ පහත සඳහන් දේ කළ යුතුය:

අපි පැකේජයක් සෑදීමට අවශ්ය ව්යාපෘති නාමාවලිය වෙත යන්න.

npm init විධානය ක්‍රියාත්මක කර සංවාදය අතරතුර අවශ්‍ය අගයන් ඇතුළත් කරන්න. නම සඳහා, ප්‍රතිලෝම වසම් ආකෘතියෙන් නම සඳහන් කරන්න, උදාහරණයක් ලෙස com.plarium.somepackage.
පැකේජයේ නම පහසුවෙන් සංදර්ශන කිරීමට, displayName දේපල package.json වෙත එක් කර එය පුරවන්න.

npm js-oriented බැවින්, Unity භාවිතා නොකරන, අපට අවශ්‍ය නොවන ප්‍රධාන සහ ස්ක්‍රිප්ට් ගුණාංග ගොනුවේ අඩංගු වේ. පැකේජ විස්තරය අවුල් නොකිරීමට ඒවා ඉවත් කිරීම වඩා හොඳය. ගොනුව මේ වගේ දෙයක් විය යුතුය:

  1. අපි පැකේජයක් සෑදීමට අවශ්ය ව්යාපෘති නාමාවලිය වෙත යන්න.
  2. npm init විධානය ක්‍රියාත්මක කර සංවාදය අතරතුර අවශ්‍ය අගයන් ඇතුළත් කරන්න. නම සඳහා, ප්‍රතිලෝම වසම් ආකෘතියෙන් නම සඳහන් කරන්න, උදාහරණයක් ලෙස com.plarium.somepackage.
  3. පැකේජයේ නම පහසුවෙන් සංදර්ශන කිරීමට, displayName දේපල package.json වෙත එක් කර එය පුරවන්න.
  4. npm js-oriented බැවින්, Unity භාවිතා නොකරන, අපට අවශ්‍ය නොවන ප්‍රධාන සහ ස්ක්‍රිප්ට් ගුණාංග ගොනුවේ අඩංගු වේ. පැකේජ විස්තරය අවුල් නොකිරීමට ඒවා ඉවත් කිරීම වඩා හොඳය. ගොනුව මේ වගේ දෙයක් විය යුතුය:
    {
     "name": "com.plarium.somepackage",
     "displayName": "Some Package",
     "version": "1.0.0",
     "description": "Some Package Description",
     "keywords": [
       "Unity",
       "UPM"
     ],
     "author": "AUTHOR",
     "license": "UNLICENSED"
    }

  5. Unity විවෘත කර pack.json සඳහා .meta ගොනුවක් ජනනය කරන්න (Unity .meta ගොනු නොමැතිව වත්කම් නොදකියි, Unity සඳහා පැකේජ කියවීමට පමණක් විවෘත වේ).

පැකේජයක් යැවීම

පැකේජය යැවීමට ඔබ විධානය ක්‍රියාත්මක කළ යුතුය: npm publish --registry *адрес до хранилища пакетов*.

Unity Package Manager හරහා පැකේජ ස්ථාපනය කිරීම සහ යාවත්කාලීන කිරීම

Unity ව්‍යාපෘතියකට පැකේජයක් එක් කිරීමට, ඔබට අවශ්‍ය වන්නේ:

  1. ගොනුවට එක් කරන්න manifest.json පැකේජයේ මූලාශ්රය පිළිබඳ තොරතුරු. මෙය සිදු කිරීම සඳහා ඔබ දේපල එකතු කළ යුතුය scopedRegistries සහ නිශ්චිත විෂය පථයන් සෙවිය යුතු විෂය පථයන් සහ මූලාශ්‍ර ලිපිනය සඳහන් කරන්න.
    
    "scopedRegistries": [
       {
         "name": "Main",
         "url": "адрес до хранилища пакетов",
         "scopes": [
           "com.plarium"
         ]
       }
     ]
    
  2. Unity වෙත ගොස් පැකේජ කළමනාකරු කවුළුව විවෘත කරන්න (අභිරුචි පැකේජ සමඟ වැඩ කිරීම බිල්ට් ඒවා සමඟ වැඩ කිරීමට වඩා වෙනස් නොවේ).
  3. සියලුම පැකේජ තෝරන්න.
  4. ඔබට අවශ්‍ය පැකේජය සොයාගෙන එය එකතු කරන්න.

Unity Package Manager

මූලාශ්ර සමඟ වැඩ කිරීම සහ නිදොස්කරණය

මූලාශ්ර ව්යාපෘතියට සම්බන්ධ කිරීම සඳහා, ඔබ නිර්මාණය කළ යුතුය එකලස් අර්ථ දැක්වීම පැකේජය සඳහා.

පැකේජ භාවිතා කිරීම ඔබගේ නිදොස් කිරීමේ විකල්ප සීමා නොකරයි. කෙසේ වෙතත්, Unity හි පැකේජ සමඟ වැඩ කරන විට, පැකේජයේ දෝෂය ඇති වුවහොත් කොන්සෝලයේ ඇති දෝෂයක් මත ක්ලික් කිරීමෙන් ඔබට IDE වෙත යා නොහැක. මෙයට හේතුව Unity විසින් ස්ක්‍රිප්ට් වෙනම ලිපිගොනු ලෙස නොදකින බැවින්, එකලස් අර්ථ දැක්වීම භාවිතා කරන විට ඒවා පුස්තකාලයකට එකතු කර ව්‍යාපෘතියට ඇතුළත් කර ඇත. ව්‍යාපෘතියක මූලාශ්‍ර සමඟ වැඩ කරන විට, IDE වෙත ක්ලික් කිරීම ලබා ගත හැක.

සම්බන්ධිත පැකේජයක් සහිත ව්‍යාපෘතියක ස්ක්‍රිප්ට්:

Unity Package Manager
වැඩ කරන කඩඉමක් සහිත පැකේජයෙන් ස්ක්‍රිප්ට්:

Unity Package Manager

පැකේජ සඳහා හදිසි නිවැරදි කිරීම්

ව්‍යාපෘතියකට එක් කරන ලද Unity පැකේජ කියවීමට පමණි, නමුත් පැකේජ හැඹිලිය තුළ සංස්කරණය කළ හැක. මෙය සිදු කිරීම සඳහා ඔබට අවශ්ය:

  1. පැකේජ හැඹිලියේ ඇති පැකේජයට යන්න.

    Unity Package Manager

  2. අවශ්ය වෙනස්කම් කරන්න.
  3. ගොනුවේ අනුවාදය යාවත්කාලීන කරන්න package.json.
  4. පැකේජය යවන්න npm publish --registry *адрес до хранилища пакетов*.
  5. UPM අතුරුමුහුණත හරහා පැකේජ අනුවාදය නිවැරදි කළ එකට යාවත්කාලීන කරන්න.

පැකේජ ආයාත ගැටුම්

පැකේජ ආයාත කිරීමේදී පහත GUID ගැටුම් ඇතිවිය හැක:

  1. පැකේජය - පැකේජය. පැකේජයක් ආනයනය කරන විට, දැනටමත් එකතු කර ඇති පැකේජවල එකම GUID සහිත වත්කම් ඇති බව අනාවරණය වුවහොත්, ආනයනය කළ පැකේජයෙන් ගැළපෙන GUID සහිත වත්කම් ව්‍යාපෘතියට එක් නොකෙරේ.
  2. පැකේජයක් යනු ව්‍යාපෘතියකි. පැකේජයක් ආයාත කරන විට, ව්‍යාපෘතියේ ගැළපෙන GUID සහිත වත්කම් ඇති බව අනාවරණය වුවහොත්, පැකේජයෙන් ලැබෙන වත්කම් ව්‍යාපෘතියට එක් නොකෙරේ. කෙසේ වෙතත්, ඔවුන් මත යැපෙන වත්කම් ව්‍යාපෘතියෙන් වත්කම් භාවිතා කිරීමට පටන් ගනී.

ව්‍යාපෘතියක සිට පැකේජයකට වත්කම් මාරු කිරීම

Unity විවෘතව පවතින අතරතුර ඔබ ව්‍යාපෘතියකින් වත්කමක් පැකේජයකට මාරු කරන්නේ නම්, එහි ක්‍රියාකාරීත්වය සුරැකෙනු ඇති අතර, යැපෙන වත්කම්වල සබැඳි පැකේජයෙන් වත්කම භාවිතා කිරීමට පටන් ගනී.

වැදගත්: ව්‍යාපෘතියක සිට පැකේජයකට වත්කමක් පිටපත් කිරීමේදී, ඉහත කොටසේ විස්තර කර ඇති “පැකේජය - ව්‍යාපෘතිය” ගැටුම ඇතිවේ.

ගැටුම් සඳහා හැකි විසඳුම්

  1. ගැටුම් තුරන් කිරීම සඳහා සියලු වත්කම් ආනයනය කිරීමේදී අපගේම ඇල්ගොරිතම භාවිතයෙන් GUID නැවත පැවරීම.
  2. සියලුම වත්කම් එක් ව්‍යාපෘතියකට එකතු කර ඒවා පැකේජ වලට බෙදීම.
  3. සියලුම වත්කම්වල GUID අඩංගු දත්ත සමුදායක් නිර්මාණය කිරීම සහ පැකේජ යැවීමේදී වලංගු කිරීම සිදු කිරීම.

නිගමනය

UPM යනු Unity හි හවුල් සම්පත් බෙදා හැරීම සඳහා නව විසඳුමකි, එය පවතින ක්‍රමවලට වටිනා විකල්පයක් විය හැකිය. ලිපියේ විස්තර කර ඇති නිර්දේශ සැබෑ සිද්ධීන් මත පදනම් විය. ඔබට ඒවා ප්‍රයෝජනවත් වේ යැයි අපි බලාපොරොත්තු වෙමු.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න