개인프로젝트 일지

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 1일차

종잇장 2022. 9. 3. 21:41

 

 

0. 프로젝트 시작하게 된 이유

 이번 프로젝트를 시작하게 된 이유는 프로젝트를 2~3년씩 하다 보면 Unity관련 기능들 공부할 시간 없이 지나가는데, 이참에 공부하기 위해서 시작하게 됐어요.

 메인 목표는 오픈월드 관련, URP 관련 공부이고, 그 외에도 유니티에서 지원하는 패키지들 이용해서 구현해보는 게 목표입니다.

 물론 꿈꾸는 섬을 최근에 정말 재밌게 했던 것도 있고, 너무 복잡하지도 않아 개인 프로젝트로 나쁘지 않겠다 싶어서 꿈꾸는 섬 모작으로 선택하게 됐어요.

 


 

1. 프로젝트 생성

https://github.com/PieceOfPaper/Unity_LinksAwakening

 

GitHub - PieceOfPaper/Unity_LinksAwakening: 젤다의 전설 꿈꾸는 섬 (The Legend of Zelda: Link's Awakening) 모작

젤다의 전설 꿈꾸는 섬 (The Legend of Zelda: Link's Awakening) 모작 - GitHub - PieceOfPaper/Unity_LinksAwakening: 젤다의 전설 꿈꾸는 섬 (The Legend of Zelda: Link's Awakening) 모작

github.com

Github에 repository를 만들고 유니티 프로젝트를 URP 3D 프로젝트로 생성했습니다.

중간에 URP 프로젝트로 바뀌게 되면 여러 가지 문제가 많아서 처음부터 URP프로젝트로 만들게 되었어요.

 


 

2. 에셋스토어 무료 에셋 (Model)

꿈꾸는 섬과 비슷한 느낌을 낼 수 있는 무료 에셋을 찾아보다 아래에 두 에셋을 사용하기로 했어요.

 

https://assetstore.unity.com/packages/3d/characters/humanoids/rpg-tiny-hero-duo-pbr-polyart-225148

 

RPG Tiny Hero Duo PBR Polyart | 3D 휴머노이드 | Unity Asset Store

Elevate your workflow with the RPG Tiny Hero Duo PBR Polyart asset from Dungeon Mason. Find this & other 휴머노이드 options on the Unity Asset Store.

assetstore.unity.com

https://assetstore.unity.com/packages/3d/characters/creatures/rpg-monster-duo-pbr-polyart-157762

 

RPG Monster Duo PBR Polyart | 3D 생물 | Unity Asset Store

Elevate your workflow with the RPG Monster Duo PBR Polyart asset from Dungeon Mason. Find this & other 생물 options on the Unity Asset Store.

assetstore.unity.com

 

URP로 프로젝트를 만들었더니 조금의 문제가 생겼네요.

 

Material을 보니 유니티 기본 서피스 쉐이더인 Standard셰이더를 쓰고 있는데, Universal Render Pipeline/Lit 셰이더로 교체했습니다.

 

잘 나오는 것까지 확인했습니다.

 


 

3. 에셋스토어 무료 에셋 (Animation)

캐릭터, 몬스터 모델링 에셋과 같이 있던 애니메이션에 이동 관련 애니메이션이 없어서 따로 다른 애니메이션을 찾아봤어요.

https://assetstore.unity.com/packages/3d/animations/rpg-character-mecanim-animation-pack-free-65284

 

RPG Character Mecanim Animation Pack FREE | 3D 애니메이션 | Unity Asset Store

Elevate your workflow with the RPG Character Mecanim Animation Pack FREE asset from Explosive. Find this & other 애니메이션 options on the Unity Asset Store.

assetstore.unity.com

https://assetstore.unity.com/packages/3d/animations/warrior-pack-bundle-2-free-42454

 

Warrior Pack Bundle 2 FREE | 3D 애니메이션 | Unity Asset Store

Elevate your workflow with the Warrior Pack Bundle 2 FREE asset from Explosive. Find this & other 애니메이션 options on the Unity Asset Store.

assetstore.unity.com

 

Idle 애니메이션 잘 나오네요.

 


 

4. 이동 구현

꿈꾸는 섬 영상을 보시면 기본적으로 8방향으로 이동하도록 되어있습니다.

 

transform.rotation = Quaternion.LookRotation(Quaternion.Euler(0, Camera.main.transform.eulerAngles.y, 0) * dir);
transform.Translate(Vector3.forward * 2.0f * Time.deltaTime);

간단한 키 입력으로 캐릭터 회전, 이동 코드를 작성했습니다.

자세한 코드는 아래 링크 보시면 됩니다.

 

https://github.com/PieceOfPaper/Unity_LinksAwakening/commit/a6e59e62778aacc2db6688a1a6ac96df5234c8d9#diff-18d8f41b7311cf3b9f5385efcaec48aba710221dfe84e7ffb707bf883791d0afR39

 

캐릭터 이동 구현 · PieceOfPaper/Unity_LinksAwakening@a6e59e6

- 일단 움직이게 구현함

github.com

 

 

이동 및 애니메이션 재생까지 확인했습니다.

여기까지 잘 되니 뿌듯하네요.

 


 

5. 오늘 다 못한 일

오늘까지 해서 조작을 Input클래스로 사용하고 있는데, 유니티에서 제공하는 Input System 패키지로 구현을 해볼까 합니다.

패키지를 임포트까지 했는데 미용실도 가야 하고, 책도 읽어야겠고, 빨래도 해야 하고, 운동도 해야 하고, 게임도 해야겠고.. 할 일이 있다 보니 여기까지 마무리하지 못해서 아쉽네요.. (사실 블로그에 글 쓰지 않으면 충분히 했을 것 같음)