Unity 스마트 병합 가이드
개요
Unity에서는 씬과 프리팹 파일을 병합할 때 'UnityYAMLMerge'라는 도구를 사용하여 구문적으로 올바르게 병합할 수 있습니다. 이 문서에서는 Unity에서 스마트 병합을 설정하는 방법과 다양한 활용 예제를 제공합니다.
스마트 병합 설정하기
1. Unity 설정
Unity에서 스마트 병합을 설정하려면 다음 경로로 이동합니다:
Edit > Project Settings > Version Control
'Mode' 필드에서 사용하고자 하는 타사 버전 관리 도구를 선택하면 'Smart Merge' 옵션이 활성화됩니다.
| 옵션 | 설명 |
|---|---|
| Off | 스마트 병합 없이 기본 병합 도구를 사용합니다. |
| Premerge | 스마트 병합을 사용하지만, 클린 병합을 허용합니다. |
| Ask | 충돌 발생 시 사용자에게 다이얼로그를 통해 처리하게 합니다. |
2. UnityYAMLMerge 경로 설정
UnityYAMLMerge의 경로는 일반적으로 다음과 같습니다: - Windows: C:\Program Files\Unity\Editor\Data\Tools\UnityYAMLMerge.exe - Mac: /Applications/Unity/Unity.app/Contents/Tools/UnityYAMLMerge
3. 타사 툴과의 통합
여기에 다양한 버전 관리 시스템을 위해 UnityYAMLMerge를 설정하는 방법을 설명합니다:
Git 설정
.gitconfig 파일에 다음을 추가합니다:
[merge]
tool = unityyamlmerge
[mergetool "unityyamlmerge"]
trustExitCode = false
cmd = '<path to UnityYAMLMerge>' merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"
Mercurial 설정
.hgrc 파일에 다음을 추가합니다:
[merge-patterns]
**.unity = unityyamlmerge
**.prefab = unityyamlmerge
[merge-tools]
unityyamlmerge.executable = <path to UnityYAMLMerge>
unityyamlmerge.args = merge -p --force $base $other $local $output
SVN 설정
~/.subversion/config 파일에 다음을 추가합니다:
[helpers]
merge-tool-cmd = <path to UnityYAMLMerge>
병합 규칙 설정
병합 규칙을 설정하려면 mergerules.txt 파일을 사용하여 커스터마이즈합니다. 기본적으로 UnityYAMLMerge는 하이브리드 모드를 사용합니다.
배열 설정
특정 경로를 배열로 처리하도록 지정할 수 있습니다.
| 모드 | 설명 |
|---|---|
| set | 키 값이 있는 배열로 설정 |
| plain | 키 값이 없는 배열로 설정 |
예제
[arrays]
set *.GameObject.m_Component *.fileID
set *.Prefab.m_Modification.m_Modifications target.fileID target.guid propertyPath
plain *.MeshRenderer.m_Materials
제외 설정
병합에서 제외할 경로를 설정합니다.
| 모드 | 설명 |
|---|---|
| include | 포함 |
| exclude | 제외 |
| includeIfContains | 포함(가질 경우) |
| excludeIfContains | 제외(가질 경우) |
예제
[exclusions]
exclude *.MeshRenderer.m_Materials.*
exclude *.ParticleSystem.*
비교 설정
부동 소수점 값 간의 미세한 차이를 고려할 수 있는 비교 설정을 제공합니다.
| 모드 | 설명 |
|---|---|
| float | 부동 소수점 값을 비교 |
예제
[comparisons]
float *.Transform.m_LocalPosition.x 0.0000005
float *.Transform.m_LocalRotation.y 0.00005 0.001
결론
이 가이드는 Unity의 스마트 병합 기능을 활용하여 팀 간의 협업을 원활하게 하는 방법을 안내합니다. 이를 통해 프로젝트 진행 시 충돌을 줄이고 생산성을 높일 수 있습니다.