cyphen156

Unity6 에셋 패키지 & 프리펩 본문

프로젝트/유니티

Unity6 에셋 패키지 & 프리펩

cyphen156 2024. 9. 10. 14:28

유니티는 유저간 커스텀 패키지를 거래하고, 공유하기 위해 에셋스토어가 존재한다. 

여기서 다운받은 패키지를 사용하여 누구나 간편히 에셋을 추가하고, 에셋에 포함된 프리펩 및 스크립트, 리소스를 사용할 수 있게 도와준다. 

오늘 할 것은 기본적인 에셋스토어 사용법과 프로젝트에서 프리펩을 만들고, 수정하는 방법을 공부할 것이다.

에셋 스토어 사용법

에셋 스토어는 유니티 엔진의 상단 도구모음중 Window - Asset Store에 존재한다.

1. 에셋 스토어는 웹 링크를 통해 사용자가 로그인된 계정에 에셋을 구매하여 마이 에셋에 추가할 수 있도록 도와준다.

2. 마이 에셋은 내 계정에 등록되어있는 에셋들을 관리할 수 있게 도와준다. 

3. 패키지 매니저는 프로젝트에 포함시킬 에셋 패키지를 선택/해제하여 프로젝트별로 관리할 수 있도록 도와준다. 일종의 부품처럼 프로젝트에 붙였다 뗐다 할 수 있도록 해준다.

항상 에셋스토어를 사용할 때에는 인터넷이 연결되어 있어야 하고, 로그인 되어 있어야 한다.

현재 책에서 소개하는 Space Robot Kyle에셋은 이름이 Robot Kyle로 변경되어 있으니 이 에셋을 다운로드 하기로 하자. 경우에 따라서 유료 에셋도 존재하니 주의하도록 한다.

다음과 같이 내 계정에 에셋을 추가하고. 0원으로 나오는 구매버튼을 확정하면 이제 myAssets에 등록되고 템플릿을 package Manager에서 관리 할 수 있게된다.

성공적으로 등록된 에셋

이제 저 두번째 그림중 우 상단의 download를 활성화하여 실제로 프로젝트에 등록할 수 있도록 해보자.

다운로드가 완료되면 download 버튼이 import 4.0 to project로 변경된다. 

임포트 하면 여러 경고가 뜬다. 버전 호환성때문에 나오는 것인데 우리는 6로 마이그레이션이 되는지 확인할 것이기 때문에 일단 무시해보자.  만약 안된다면 Unity 6버전의 에셋만 사용해야 된다. 

저 4.0은 에셋 Robot Kyle의 버전으로, 유니티 엔진 버전이 아닌 스토어에 게시한 소유주가 설정한 에셋의 버전이다.

노란 박스 안의 콘솔에 뜬 임포메이션 메세지와 워닝 창을 읽어보면 대강 에셋이 프로젝트에 연결되었고, 기본적으로 글로벌 설정으로 세팅되었으니 만약 커스터마이징하고싶으면 다음 가이드라인에 따르라는 소리다.

이제 노란 창에서 콘솔이 아닌 프로젝트로 바꾸면 다음과 같이 에셋이 성공적으로 프로젝트와 연결되어 있는 것을 알 수 있다.

Assets폴더 안의 에셋 등록자 이름 폴더가 있고, 그 안에 에셋 패키지가 등록되어 있다. Robot Kyle이라는 에셋패키지는 에셋 패키지 이름은 변경되었지만 실제 에셋 디렉토리 명은 Space Robot Kyle을 유지하고 있다는 것을 알 수 있다.

Space Robot Kyle안에 있는 프리펩 패키지를 통해 Robot Kyle인스턴스를 씬 창에 드래그 앤 드롭 하여 프로젝트에서 사용하고 있다. 그리고 생성된 인스턴스는 파랑 창을 통해 개별적으로 관리할 수 있다.

그리고 다음과 같이 개별 프리펩을 따로 익스포트하여 커스터마이징 하여 독립적으로 필요한 부분만 가져다가 쓸 수도 있다.

프리펩 만들기

다음으로 해볼 것은 프리펩 만들기이다. 

로봇 카일이 박스를 짊어지고 있는 프리펩을 하나 만들어보자.

다음과 같이 게임오브젝트를 통해 박스를 하나 만들고, 

그리고 박스를 로봇 카일 인스턴스의 하위 인스턴스로 등록하자.

빨강, 파랑의 두 인스턴스에서 빨간 인스턴스 아래로 드래그 하면 된다. Box인스턴스가 RobotKyle인스턴스에 종속되었다는 의미이다.

그리고 hierarchy 창에서 RobotKyle인스턴스를 프로젝트 창으로 드래그 앤 드롭하면 다음과 같은 창이 뜬다.

오리지널 프리펩을 생성할건지, 아니면 기존의 프리펩을 기반으로 변형된 프리펩을 생성할 것인지 선택하는것이다. 아예 독립적인 프리펩을 생성할지, 아니면 원본 프리펩을 수정하면 거기에 맞춰서 같이 수정되는 프리펩을 생성할 것인지 선택하는 것이기 때문에 사용자가 선택하면 된다.

한가지 팁은 독립적으로 생성하는 경우 원본 프리펩이 변경되도 아무런 영향을 받지 않는다. 객체의 독립성 유지에 도움이 된다.

변형된 프리펩을 선택할 경우 원본 프리펩을 수정하는것 한번으로 종속된 모든 프리펩이 동시에 변경되어 작업 시간을 줄일 수 있다.

만약 생성된 프리펩을 수정하고 싶다면 다음 두 버튼중 하나를 누르면 된다. 

그런데 나는 이 버튼을 많이 사용하지 않을 것으로 예상된다. 해당 작업의 경우 거의 게임 디자이너 내지 3D 그래픽 아티스트가 인스턴스 원본을 수정할 때 사용하기 때문이다. 코딩의 영역이라기 보다는 디자인의 영역이라고 생각한다. 그리고 오브젝트 디자인의 경우 주로 외부 프로그램(C4D, Blender, Maya)에서 오브젝트를 작업하고, 가져오기 때문이다.

그래도 언제든 사용해야 할 수 있으니 알아두자.

이제 기본적인 에셋 사용법도 모두 배웠다. 다음은 레벨 디자인에 대해 배워보겠다. 

'프로젝트 > 유니티' 카테고리의 다른 글

Unity 5 책으로 공부하는 Unity 6  (12) 2024.09.06