외부에서 FBX 모델링 파일을 받아 유니티에 불러오면, 오브젝트들이 패키지 모양 아이콘으로 표시됩니다.
처음에는 별다른 문제 없이 배치되는 줄 알았는데, 머티리얼이 전부 회색으로 나오고 텍스처가 적용되지 않아 당황스러웠습니다.
머티리얼 설정에서 Albedo에 텍스처를 입히려고 했지만, 해당 슬롯이 비활성화되어 있어 편집이 불가능했습니다.
조금 더 살펴보니, FBX 파일에서 불러온 머티리얼은 읽기 전용 상태였기 때문입니다.
FBX 파일은 외부에서 가져오는 형식이라 기본적으로 메시, 본, 애니메이션, 머티리얼 등의 정보가 포함되어 있지만, 머티리얼 자체는 수정이 제한된 상태로 임포트됩니다.
이 문제를 해결하기 위해, 유니티에서는 FBX 파일에서 머티리얼을 추출(Extract) 하는 기능을 제공합니다.
FBX 파일을 선택한 후, Inspector 창의 Materials 탭으로 이동합니다.
그 안에 있는 “Extract Materials...” 버튼을 클릭하면 머티리얼을 별도로 저장할 수 있도록 위치를 지정하게 됩니다.
저는 Materials 라는 폴더를 새로 만들어 그곳에 저장하였습니다.
그리고 함께 제공된 color_texture.tga 파일을 연결하였습니다.
이제 모델에 정상적으로 텍스쳐가 입혀졌습니다.
FBX 가 읽기 전용으로 불러와지는 이유는?
추가로, 유니티에서 FBX 파일을 읽기 전용으로 불러오는 이유에 대해 간단히 설명드리면, FBX 는 원래 Blender, Maya, 3ds Max 같은 외부 3D 모델링 툴에서 만들어지는 파일입니다.
유니티는 이 FBX 파일을 직접 수정하지 않고 참조만 하는 구조로 처리합니다. 이는 외부 자산을 보호하기 위한 설계이기도 합니다. 예를 들어, FBX 내부의 머티리얼을 유니티에서 수정 가능하게 만들어 버리면, 나중에 원본 FBX가 업데이트되었을 때 유니티에서 해놓은 설정이 덮어쓰이거나 사라질 수 있습니다.
그래서 유니티에서는 원칙적으로 FBX 내부의 머티리얼이나 메시를 읽기 전용으로 임포트하고, 필요한 경우 별도로 추출하여 유니티 자산으로 관리하게 하는 것입니다. 이처럼 머티리얼을 추출해 사용하면, 원본 FBX가 나중에 수정되더라도 텍스처나 머티리얼 설정이 덮어씌워지지 않고 안전하게 유지됩니다.
'Unity' 카테고리의 다른 글
Unity 에서 Empty object 를 Scene 창에서 보이게 하는 방법 (0) | 2025.04.30 |
---|---|
코루틴의 한계 : 일시 정지가 불가능한 구조 (0) | 2025.04.27 |
Unity에서 Enum을 Dictionary로 연결하여 Hierarchy 자식 관리하기 (0) | 2025.04.27 |
Hierarchy 구조를 이용해 스크립트에서 제어하기 (0) | 2025.04.21 |
유니티에서 SerializeField 란 무엇인가요? (0) | 2025.04.20 |