본문으로 건너뛰기

생성되는 파일

이 문서를 읽으면 이 도구가 프로젝트에 무엇을 만드는지, 왜 어떤 경우엔 기존 파일을 갱신하고 어떤 경우엔 새 파일을 만드는지, 그리고 남의 에셋을 덮어쓰지 않는 이유를 알 수 있습니다.

세 종류​

경로언제버전 관리
<원본명>_Edit.asset메쉬 저장커밋 대상
<원본명>_Part….asset메쉬 저장 시 떼어낸 조각이 있을 때커밋 대상
Library/EmeAutoSave/리로드, Play, 창 닫기 등에서 편집 내용을 보존할 때커밋 대상 아님

앞의 둘은 원본 메쉬 에셋 옆에 만들어집니다. 세 번째는 Library/ 아래이므로 Unity가 캐시로 취급하고 버전 관리에서도 제외됩니다.

_Edit.asset​

메쉬 저장이 만드는 최종 메쉬 에셋입니다. 만들어지는 즉시 렌더러가 이 에셋을 쓰게 됩니다.

담기는 것: 정점, 노멀, 탄젠트, UV0~UV7, 컬러, 서브메쉬·재질 대응, bindpose, 본 웨이트(가변 본 웨이트 포함), 블렌드쉐이프 전 프레임.

저장 과정에서 어떤 삼각형도 참조하지 않는 정점은 한 번 정리됩니다. → 메쉬 저장 내부

에셋 안의 메쉬 오브젝트 이름은 파일 이름과 같게 맞춰집니다.

0.1.x가 만든 <원본명>_Edit.asset은 1.0이 만든 출력으로 보지 않습니다. 1.0에서 같은 메쉬를 다시 메쉬 저장하면 그 파일을 덮어쓰지 않고 <원본명>_Edit 1.asset을 새로 만들며, 렌더러는 새 파일을 씁니다.

_Part.asset​

선택·이동 탭에서 조각을 떼어낸 뒤 메쉬 저장하면 조각마다 _Part 에셋이 만들어집니다. 조각은 새 GameObject로 씬에 나타나고, 그 렌더러가 이 에셋을 씁니다.

저장 도중 실패하면 만들다 만 _Part.asset은 지우고, 원본은 그대로 남깁니다.

출처 표식(provenance)과 owner​

출력 에셋에는 어디서 나왔는지를 적어 둔 표식이 함께 저장됩니다. 이 표식이 다음 두 가지를 결정합니다.

  1. 다시 메쉬 저장할 때 같은 파일을 갱신할지, 새 파일을 만들지
  2. 이름이 겹치는 남의 에셋을 덮어쓰지 않을 것

표식에는 원본 메쉬 GUID와 렌더러의 소유 토큰이 들어갑니다.

상황결과
같은 원본, 같은 렌더러에서 다시 메쉬 저장기존 _Edit.asset을 GUID를 유지한 채 갱신
같은 원본 메쉬를 쓰는 다른 렌더러별도의 출력 파일을 만듭니다
같은 이름의 남의 에셋이 이미 있음덮어쓰지 않고 고유한 경로를 새로 만듭니다

GUID가 유지된다는 것이 중요합니다. 프리팹, 애니메이션, 다른 씬이 그 메쉬를 참조하고 있어도 참조가 끊어지지 않습니다.

이미 저장한 에셋을 쓰는 렌더러를 다시 불러오기 해서 이어 작업하면, 그 출력을 갱신하고 같은 에셋을 쓰는 다른 불러온 렌더러도 새 데이터로 맞춥니다.

씬을 저장하지 않으면 렌더러를 구분할 수 없습니다

소유 토큰은 렌더러의 전역 ID에서 나옵니다. 씬이 한 번도 저장되지 않았으면 그 ID가 없으므로, 창이 이를 알려 줍니다. 같은 원본을 쓰는 렌더러가 여러 개라면 작업 전에 씬을 한 번 저장하세요.

Library/EmeAutoSave/​

편집 중인 Work Mesh를 보존해 두는 곳입니다. 도메인 리로드, Play 진입, 창 닫기, 씬 닫기, Unity 종료 직전에 여기에 저장하고, 편집 모드로 돌아오거나 창이나 씬을 다시 열면 복원합니다.

이것은 작업 결과물이 아니라 안전망입니다. 최종 저장은 언제나 메쉬 저장입니다. → 세션과 되돌리기

보존에 실패하면 Play 진입과 종료를 멈추고 이유를 상태줄에 알립니다. 파일은 지우지 않으므로 원인을 확인할 수 있습니다.

저장 전에 막히는 것​

잘못된 데이터는 파일로 나가기 전에 걸러집니다.

  • NaN / Infinity 좌표
  • 토폴로지 불일치
  • 가중치 배열 길이 불일치

실패한 세션은 닫히지 않고 유지되므로, 원인을 고친 뒤 다시 메쉬 저장할 수 있습니다.

지워도 되는 것​

파일지워도 되나
_Edit.asset렌더러가 쓰고 있다면 안 됩니다. 원본으로 되돌린 뒤 지우세요
_Part.asset그 조각 오브젝트를 지운 뒤라면 됩니다
Library/EmeAutoSave/언제든 됩니다. 복원할 세션이 없어질 뿐입니다