Megoldások IT problémákra!

Unity 3D és a GIT-es csapatmunka - mit kell beállítani, hogy működjön?

Alapvetően a Unity 3D játékmotor által készített projektfájlok minden különösebb gond nélkül felmennek a git verziókezelőbe. A gondok akkor jönnek, ha nem egyszemélyes a fejlesztőcsapat, hanem többen dolgoztok ugyanazon a projekten. A szöveges C# forráskódban történt változtatásokat simán össze lehet fésülni más változtatásaival - viszont a .unity scene-eket nem, mert ezek apalesetben bináris fájlok, merge-conflict keletkezik.

El kell végezni pár beállítást, hogy többen is tudjátok szerkeszteni ugyanazt a scene-t. Ezek pedig a következők:

1. Kapcsold be a metafájlokat

Edit > Project settings > Editor menüpontban, választ ki a "Visible Meta Files" módot. Ekkor a Unity minden Asset-hez .meta kiterjesztésű metafájlt generál ami információkat tartalmaz arról, hogy az adott fájl mihez tartozik egyedileg generált ID-k összerendelése van bennük. Ez a Unity-nek fontos infó, a változásokat ez alapján gyorsabban detektálja.

2. Állítsd az Asset sorosítást szöveges üzemmódra

Szintén az Edit > Project settings > Editor menüpontban az Asset Serialization legyen Force Text. Így a .unity scene-ek nem bináris, hanem szöveges üzemmódban mentődnek el, amivel a git verziókezelő megbírkózik a fájlok összefésülésekor.

3. Izzítsd be a verziókezelő kliensedben a Unity Smart Merge tool-t.

Oké, hogy beállítottad a szöveges üzemmódot az előző pontban, de bizonyos merge tool-ok elronthatják a unity-hez tartozó projektfájlok belső szerkezetét. A Unity telepítésével a gépedre felkerült egy UnityYAMLMerge nevő szoftver. A kliensedben állítsd be, hogy a gyári helyett ezt használja a projektednél a git.

Windowson itt van ez a tool:

C:\Program Files\Unity\Editor\Data\Tools\UnityYAMLMerge.exe

OSX-en itt van:

/Applications/Unity/Unity.app/Contents/Tools/UnityYAMLMerge

Beállítani így lehet: a .git vagy .gitconfig fájlodba beírod ezeket a sorokat:

[merge]
tool = unityyamlmerge

[mergetool "unityyamlmerge"]
trustExitCode = false
cmd = '<elérési út>' merge ­p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"

4. .gitignore írása

A gitignore az a fájl, ami a projekted szülőmappájában van és leírja, hogy milyen fájlokat hagyjunk ki a távoli repository-ba történő szinkronizálás esetén. Például a teljes Temp/ mappa kihagyható a szinkronizálásból, mert azok csak ideiglenes fájlok. Vagy a teljes Library/ mappa is, mert az pedig egy lokális tároló a projektbe importált dolgokról - de a csapatmunka esetén úgyis a másik félnél is beimportálódik az az Asset ami az Assets mappában van, így ezeket is felesleges szinkronizálni.

Itt egy baró .gitignore fájl kifejezetten Unity-hez, amit helyezz el a projekted gyökerében.

 

A bejegyzés trackback címe:

https://nerd.blog.hu/api/trackback/id/tr1511924605

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.

Nerd blog!

Ezen az oldalon gyűjtöm az elém került informatikai problémákra talált megoldásokat, hátha másnak is hasznos! Ha itt végeztél kikapcsolódás képpen nézd meg a másik blogomat is: NapiGeek blog. DE TÉNYEG, OKÉ?


Címkék

10.10 (2) 10.9 (2) 7 (2) 7zip (2) 8 (2) a (2) adblock (2) agyhalott (2) alert (2) alkalmazás (3) allegro (2) android (4) animált (2) app (4) apple (16) archivum (2) atom (3) átverés (2) audio (3) bash (3) beállítás (4) beállítások (6) betűméret (2) billentyűkombináció (4) billentyűparancs (3) billentyűzet (2) bin (2) biztonság (2) blog (45) böngésző (9) box (2) cascaded (2) codeblocks (5) command (2) command line (3) crack (2) crash (2) cron (3) crontab (4) css (9) date (4) dátum (3) digitális analfabéta (2) disable (2) disk (3) div (2) drive (2) drugs bunny (2) editor (2) ellenőrzés (2) email (2) error (3) exe (2) facebook (8) fájlméret (2) fájlrendszer (2) faszbúk (4) fb (2) feed (3) feladatkezelő (2) felbontás (2) felcsatol (2) fix (2) folder (2) formázás (2) fos (4) fostalicska (2) geek (2) generálás (2) git (2) google (2) google drive (2) gps (2) graph (2) gzip (2) hack (6) hálózat (2) hang (3) háttér (3) háttérkép (2) hdd (2) header (2) helyesírás (2) hiba (3) hogyan (7) how to (2) hozzászólás (2) html (8) hu (2) id (2) időzített (2) image (2) img (2) ingyen (7) injection (2) internet (5) iphone (2) iso (3) javascript (7) kaki (2) kép (5) kikapcsol (4) kikapcsolás (2) kliens (2) kód (2) konvertálás (2) lájk (2) lekérése (2) lemezkép (2) leopard (5) letöltés (3) like (2) link (4) linux (10) lion (7) lista (2) log (2) mac (22) macbook (7) macbook pro (4) magyar (3) mavericks (5) mdf (3) mds (3) mentés (2) mini (2) mobilinternet (2) monitor (2) mount (4) mountain (3) mp4 (2) működik (2) mysql (4) nélkül (3) nem (5) nerd (47) okostelefon (2) olcsó (2) oldal (5) online (2) openoffice (3) osx (36) parancssor (5) password (2) pdf (3) php (14) plugin (4) png (3) program (2) programozás (8) rar (2) régi (2) rendszer (3) retardált (2) rss (3) safari (3) script (2) sebesség (2) sheet (2) shell script (2) sleep (2) snow (3) sok (2) stíluslap (5) style (2) stylesheet (2) szar (4) szűrő (2) tar (2) telepítés (4) terminal (5) teszt (2) time (4) tömörítés (4) tor (2) törlés (2) truecrypt (2) trükk (2) túl (2) ubuntu (3) újraindítás (2) unix (5) unlimited (2) url (3) ventillátor (2) version (2) video (3) virtualbox (2) warning (2) webfejlesztés (2) weboldal (6) widget (2) windows (10) windows 10 (2) windows 7 (2) windows 8 (2) windows xp (2) xcode (2) yosemite (4) youtube (7) zip (2) zoom (2) Címkefelhő

Statisztika