cyphen156
Unity 2D 게임 개발하기/리소스 추출 본문
돈스타브 하다가 하기싫어져서 뛰쳐나온 프로젝트
확실히 글쓰면서 공부하면 조금 더 집중을 오래하는것 같다.
간단하게 애셋 스튜디오로 리소스 추출하고 프로젝트 모작으로 만들것 같다.
맨 처음 유니티6 2D Core(URP)프로젝트를 생성하면 현재 다음과 같은 경고가 발생한다.
→ 24.12.16 수정
Unity6 0.31f1버전 기준 이제는 안뜨는 에러다
The project currently uses the compatibility mode where the Render Graph API is disabled. Support for this mode will be removed in future Unity versions. Migrate existing ScriptableRenderPasses to the new RenderGraph API. After the migration, disable the compatibility mode in Edit > Projects Settings > Graphics > Render Graph.
UnityEditor.EditorAssemblies:ProcessInitializeOnLoadMethodAttributes ()
대강 그래픽 api 호환성 모드가 추후 비활성화 될 예정이니 프로젝트 설정으로 가서 새 렌더링 api를 사용설정하라는 경고 메세지다. 무시해도 상관없으나 해결하려면 다음과 같이 작업하면 된다.
보면 Render Graph 안에 Compatibility Mode가 활성화 된걸 끄고, 프로젝트를 저장하면 된다.
아 참고로 책은 거의 안들여다볼 예정이다.
우선 깃허브에 리소스/에셋이 올라가기 시작하면 관리가 힘들어지므로 리소스는 외부 프로그램/(구글드라이브)를 통해 공유할 것이다. 구글드라이브가 15GB까지 무료니까 충분할것같다.
애셋 외에 내가 따로 추가하는 리소스는 ProjectName/Resource에서 관리할 예정이다. 이것을 깃허브에 올리지 않기 위해 GitIgnore설정이 필요하다.
깃허브 레포지토리 루트를 확인하면 .gitignore가 존재하는데 여기서 다음 코드를 추가로 맨 아래에 적용시키고 푸시를 한번 하면 된다.
# 모든 하위 디렉토리의 Resource 폴더 무시
**/Resource/
※ 꼭 이그노어 파일을 설정한 뒤 푸시를 먼저 하고 리소스폴더를 추가해야 한다.
만약 이그노어 설정 없이 리소스가 먼저 레포지토리에 업로드 되거나, 이그노어와 동시에 업로드 된다면 이미 추적중인 파일을 제외할 수는 없기 때문에 레포지토리 자체를 다시 만들거나 다음 명령어를 수행해서 추적에서 제외해야 한다.
git rm --cached -r **/Resource/
git commit -m "Remove Resource folder from tracking"
git push
※ 유니티의 기본 무시 설정 파일 .gitignore의 내용
이제 에셋 추출을 해보자
다음 링크에서 들어가서 GUI 프로그램을 다운받고 실행시킨다.
Releases · Perfare/AssetStudio · GitHub
Releases · Perfare/AssetStudio
AssetStudio is a tool for exploring, extracting and exporting assets and assetbundles. - Perfare/AssetStudio
github.com
내가 추출할 것은 Skul:The Hero Slayer라는 게임이다.
스팀 게임이 위치한 폴더를 찾는 방법은 다음과 같다.
로드 폴더로 해도 되지만 그냥 로컬 파일 탐색으로 해당 폴더를 찾아 상위폴더 단계에서 GUI 프로그램위에 드래그 & 드랍하면 된다.
스컬 자체가 유니티로 만들어진 게임이기 때문에 여기서 씬 구조와 사용된 C#스크립트, 애셋 등 대부분이 확인 가능하다.
우리는 사운드 파일과 UI, 게임 화면 구성을 위한 이미지 파일이 필요하니까 특정 애셋만을 뽑아올것이다.
Asset List라는 것을 클릭하면 여러가지 파일타입이 있다. 우리에게 필요한것은 Texture2D, Sprite(애니메이션), AutioClip정도이다. 하지만 AnimationClip과 같은 타입도 따로 필요할 수 있으니 일단 전체 추출을 진행하도록 한다.
다음과 같이 레포지토리 안에 Resource폴더를 하나 만들고 거기에 저장한다.
그리고 이 폴더는 대용량이기 때문에 구글 드라이브로 따로 관리한다.
+++리소스 파일들이 하나의 폴더에 전체적으로 잡히고 Shader와 같은 스크립트파일 갯수가 너무 많아 프로젝트 로드가 안된다.
이걸 해결하기 위해 애셋 추출 방식을 조금 변화시키겟다.
Options-Export options에 보면 애셋 추출시 분류해주는 기준이 있다.
기본적으로 타입별로 되어있었기 때문에 파일을 일일이 찾기 힘들었다. 이걸 컨테이너 패스/파일네임으로 바꿔주면 되는데, 유니티 애셋 번들러를 사용할 수도 있다.
예제 코드는 한빛 아카데미 예제 소스
IT CookBook, 게임 제작으로 배우는 유니티 (hanbit.co.kr)
IT CookBook, 게임 제작으로 배우는 유니티
게임을 만들면서 유니티를 배우려는 모든 독자층을 대상으로 합니다. 유니티의 설치 방법과 기본 사용법을 먼저 설명한 다음 유니티에서 그래픽 리소스를 설정하고 스크립트를 코딩하는 과정
www.hanbit.co.kr
또는 다음 레포지토리에 업로드 될 예정입니다.
유니티 프로젝트는 용량이 너무 거대한 관계로 폴더 전체를 다운로드하지말고 프로젝트 별로 따로 다운로드하시길 바랍니다.
+++에셋과 같은 경우 .tif와 같은 파일이 너무 용량을 많이 잡아먹어 제외하였으니 따로 다운로드하시어 프로젝트에 다시 추가하시길 바랍니다.
리소스 폴더가 프로젝트 내에 존재해야 할 위치는 Skul/Assets폴더 내부입니다.
GitHub - cyphen156/Unity: UnityProject
GitHub - cyphen156/Unity: unity
unity. Contribute to cyphen156/Unity development by creating an account on GitHub.
github.com
추출된 애셋 리소스들은 다음 링크에 존재합니다.
https://drive.google.com/drive/folders/1LS7uzaU47z68-LAlvzZDKVKym2RE0GbW?usp=sharing
Unity - Google Drive
이 브라우저 버전은 더 이상 지원되지 않습니다. 지원되는 브라우저로 업그레이드하세요. 닫기
drive.google.com
'프로젝트 > 유니티' 카테고리의 다른 글
유니티 2D 스프라이트 애니메이션 만들기 (0) | 2025.02.20 |
---|---|
유니티 에디터 기능 - 에디터 수정과 애셋 번들 (1) | 2025.02.14 |
유니티의 C# 스크립팅 시스템 (6) | 2024.09.25 |
Unity6 레벨디자인 기초 (3) | 2024.09.25 |
유니티의 렌더링 파이프라인들 (Built-in-pipeline/URP/HDRP) (1) | 2024.09.19 |