부트캠프
유니티 특수 폴더 이름
noyyo
2023. 7. 31. 20:27
게임을 제작하다보면 여러가지 애셋들이 많이 필요하다.
하지만 개발 단계에서 모든 애셋이 이미 만들어져서 모두에게 공유되리라고 기대하기 어렵다.
이럴 때 동적으로 애셋을 로드할 수 있도록 유니티에서 지원하는 폴더 이름이 있다. 바로 Resources.
Resources폴더를 생성하면 스크립트 상에서 Resources 클래스의 Load 메소드를 이용해서 파일명으로 원하는 애셋을 동적으로 로드할 수 있다.
GameObject test1 = Resources.Load<GameObject>("Prefabs/testPrefab");
GameObject test2 = Resources.Load("Prefabs/testPrefab") as GameObject;
GameObject test3 = (GameObject)Resources.Load("Prefabs/testPrefab");
사용 방법은 위와 같다.
주의할 사항으로 동적으로 애셋을 로드한다면 반드시 null 체크를 하고 사용하자.
유니티에서는 Resources뿐만 아니라 몇몇 특수한 이름을 가진 폴더에 대해서 따로 기능을 제공하고 있다.
Assets | 유니티 프로젝트에서 사용하는 애셋이 포함되는 주 폴더 |
Editor | 런타임 스크립트가 아닌, 에디터 스크립트로 간주하여 유니티 에디터에 기능을 추가하며 커스터마이징 |
Editor Default Resources | 요구가 있을 때 즉시 에셋 파일을 로드 |
Gizmos | 씬 뷰에 그래픽스를 추가하여 원래는 보이지 않는 디자인 디테일을 시각화 |
Plug-ins | 유니티의 기능을 확장하기 위해 포르젝트에 추가하는 네이티브 DLL(타사 코드 라이브러리, 시스템 콜, 기타 유니티 빌트인 기능 등) |
Resources | 씬에서 게임플레이에 사용할 에셋의 인스턴스를 만드는 대신 스크립트에서 온디맨드 방식으로 에셋을 로드 |
Standard Assets | 스탠다드 애셋 패키지를 임포트하면 에셋 뿐만 아니라 스크립트 컴파일 순서에도 영향을 미침, 특수 폴더와 스크립트 컴파일 순서에 사용 |
StreamingAssets | 파일을 타겟 기기의 특정 폴더로 그대로 복사되어 사용하기 위함 |
Hidden Assets | 임포트 과정에서 유니티 Assets 폴더의 특정 파일 및 폴더를 완전히 무시 |
https://docs.unity3d.com/kr/2018.4/Manual/SpecialFolders.html
특수 폴더 이름 - Unity 매뉴얼
보통 Unity 프로젝트를 구성하기 위해 폴더를 생성할 때 원하는 이름은 무엇이든 선택할 수 있습니다. 그러나 몇 가지 폴더 이름의 경우 Unity는 해당 폴더의 내용이 특별한 방식으로 취급되어야
docs.unity3d.com