Gunakan alat UnityYAMLMerge untuk menggabungkan file sceneAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
Lihat di Glossary dan prefabJenis aset yang memungkinkan Anda untuk menyimpan GameObject lengkap dengan komponen dan properti. Prefab bertindak sebagai template dari mana Anda dapat membuat instance objek baru di tempat kejadian. More info
Lihat di Glossary dengan cara yang benar. Alat ini dapat diakses dari baris perintah dan juga tersedia untuk perangkat lunak version controlSistem untuk mengelola perubahan file. Anda dapat menggunakan Unity bersama dengan alat kontrol versi yang paling umum, termasuk Perforce, Git, Mercurial dan PlasticSCM. More info
Lihat di Glossary pihak ketiga.
Dalam pengaturan proyek Kontrol Versi (menu: Edit > Project Settings > Version Control), ketika Anda memilih alat kontrol versi pihak ketiga di bidang Mode, misalnya Perforce atau PlasticSCM, Smart Merge ditampilkan. Menu memiliki opsi berikut:
Alat UnityYAMLMerge dikirim dengan editor Unity; asumsi Unity dipasang di lokasi standar, jalur ke UnityYAMLMerge akan:
C:\Program Files\Unity\Editor\Data\Tools\UnityYAMLMerge.exe
or
C:\Program Files (x86)\Unity\Editor\Data\Tools\UnityYAMLMerge.exe
... di Windows dan
/Applications/Unity/Unity.app/Contents/Tools/UnityYAMLMerge
...on Mac OSX (menggunakan perintah Tampilkan Konten Paket dari Finder untuk mengakses folder ini).
UnityYAMLMerge dikirim dengan file fallback default (yang disebut mergespecfile.txt, juga di folder Alat) yang menentukan bagaimana harus melanjutkan dengan konflik yang tidak terlarut atau file yang tidak diketahui. Ini juga memungkinkan Anda untuk menggunakannya sebagai alat penggabungan utama untuk sistem kontrol versi (seperti git) yang tidak secara otomatis memilih alat penggabungan berdasarkan ekstensi file. Alat yang paling umum sudah terdaftar secara default dalam mergespecfile. txt tetapi Anda dapat mengedit file ini untuk menambahkan alat atau opsi perubahan baru.
Anda dapat menjalankan UnityYAMLMerge sebagai alat mandiri dari baris perintah (Anda dapat melihat instruksi penggunaan penuh dengan menjalankannya tanpa argumen). Instruksi pengaturan untuk sistem kontrol versi umum diberikan di bawah ini.
.unity
.merge -p %b %1 %2 %r
Kemudian, ikuti prosedur yang sama untuk menambahkan ekstensi .prefab
.
Tambahkan teks berikut ke file .git
atau .gitconfig
Anda:
[merge]
tool = unityyamlmerge
[mergetool "unityyamlmerge"]
trustExitCode = false
cmd = '<path to UnityYAMLMerge>' merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"
Tambahkan teks berikut ke file .hgrc
Anda:
[merge-patterns]
**.unity = unityyamlmerge
**.prefab = unityyamlmerge
[merge-tools]
unityyamlmerge.executable = <path to UnityYAMLMerge>
unityyamlmerge.args = merge -p --force $base $other $local $output
unityyamlmerge.checkprompt = True
unityyamlmerge.premerge = False
unityyamlmerge.binary = False
Tambahkan berikut ke file ~/.subversion/config
Anda:
[helpers]
merge-tool-cmd = <path to UnityYAMLMerge>
.unity
di bidang ekstensi. <path to UnityYAMLMerge> merge -p %base %theirs %mine %merged
Kemudian, ikuti prosedur yang sama untuk menambahkan ekstensi .prefab
.
.unity
. <path to UnityYAMLMerge> merge -p "@basefile" "@sourcefile" "@destinationfile" "@output"
Kemudian, ikuti prosedur yang sama untuk menambahkan ekstensi .prefab
.
merge -p $BASE $REMOTE $LOCAL $MERGED
di bidang Arguments.Untuk menyesuaikan bagaimana menggabungkan file UnityYAMLMerge, mengkonfigurasi file mergerules.txt. Ini tersedia dalam folder Editor/Data/Tools
instalasi Unity Anda. Berbagai opsi konfigurasi adalah sebagai berikut.
Bagian konfigurasi array memberi tahu UnityYAMLMerge untuk mengobati jalur yang ditentukan sebagai array; baik sebagai “set” dengan nilai kunci, atau sebagai array “plain” tanpa nilai kunci. Default untuk semua array adalah untuk melakukan mode hybrid dan mencoba untuk mencocokkan dengan beberapa heuristik yang diketahui.
[arrays]
set *.GameObject.m_Component *.fileID
set *.Prefab.m_Modification.m_Modifications target.fileID target.guid propertyPath
plain *.MeshRenderer.m_Materials
plain *.Renderer.m_Materials
Bagian konfigurasi pengecualian menunjukkan jalur mana yang harus dikecualikan dari penggabungan. Jika kedua sisi telah dimodifikasi, mereka kemudian diperlakukan sebagai konflik dan akan muncul untuk input pengguna.
[exclusions]
exclude *.MeshRenderer.m_Materials.*
exclude *.SpriteRenderer.m_Materials
exclude *.SpriteRenderer.m_Color
include *.ParticleSystem.InitialModule
exclude *.ParticleSystem.*
exclude *.ParticleSystem.InitialModule.*
#excludeDepend *.MonoBehaviour m_Script ^m_
excludeIfContains *.MonoBehaviour.* x y z
excludeIfContains *.MonoBehaviour.* r g b
Bagian perbandingan memperhitungkan perbedaan di antara nilai pelampung untuk mengabaikan pengaturan pengguna. Ketika diaktifkan, perbandingan titik mengambang dilakukan relatif ke akun untuk kesalahan relatif. Anda dapat mengkonfigurasi perbandingan dengan cara berikut:
Nilai perbandingan relatif menentukan epsilon dan bagaimana perbandingan akan skala dengan ukuran kesalahan relatif pelampung. Cutoff perbandingan absolut menentukan di mana titik sakelar perbandingan float dari absolut ke relatif dari nol (pada grafik).
Note: Nilai perbandingan harus antara epsilon float ( ~0.00000011921) dan 1.0
[comparisons]
float *.Transform.m_LocalPosition.x 0.0000005
float *.Transform.m_LocalPosition.y 0.0000005
float *.Transform.m_LocalPosition.z 0.0000005
float *.Transform.m_LocalRotation.x 0.00005 0.001
float *.Transform.m_LocalRotation.y
float *.Transform.m_LocalRotation.z 0.00005 0.001
float *.Transform.m_LocalRotation.w