많은 아케이드 게임에서 세상을 곡면으로 표현하는 방법을 채택하곤 한다.
곡면으로 이루어진 게임을 하면 조금 이색적이기도 하고 장애물이 날아오는
형태라면 장애물을 가릴 수 있어서 스릴감을 유도하기도 한다.
무려 10M+라는 어마무시한 다운로드 수를 기록하고 있는 유명 모바일 게임 개발사
ketchapp에서 만든 Rush라는 게임도 이와 같은 휘어진 스테이지를 사용했다.
이런 스테이지는 어떻게 구현할까?
1. 구현의 과정
이런 스테이지는 실제로는 위와 같이 일자로 된 스테이지인 경우가 대부분이다.
이렇게 휘어져 보이는 건 쉐이더의 영역인데, 이 때문에 쉐이더 쪽 공부가 필요하다.
사실 쉐이더를 개발한다고 해도 오브젝트에 적용하기 위해 일반화시킬 스크립트도 만들어야 한다.
이 내용을 종합하면, 일반적인 C# 개발자는 만들기 힘들다는 결론이 나온다.
(적어도 나는 쉐이더 공부를 안 해서 불가능하다)
그래서 많은 회사나 개발자들이 에셋을 구매해서 사용하는 편이다.
이번에 소개할 에셋은 가격이 저렴한 편이라서 저걸 배울 바에 사는 게 나을 것이라 생각한다.
물론 배움은 결과뿐 아니라 얻는 게 많다. 구매는 당신의 선택이다.
이후의 글은 위 에셋에 대한 사용법을 소개하겠다.
2. 설치 방법
이 에셋은 처음 보면 사용하기 꽤 어려울 수 있다.
[window] -> [package manager]로 가서 에셋을 다운로드한 후 파일을 열어보면,
위 사진과 같은 내용물이 있는데 잘 모르면 굉장히 당황스럽다.
데모씬이나 스크립트 같은 게 안 보인다.
저 유니티 로고는. unitypackage 파일을 의미한다. 이걸 모르면 좀 당황스러웠을 것이다.
. unitypackage 파일은 유니티에서만 쓰이는. zip 파일과 비슷하게 압축의 역할을 한다.
이걸 불러오려면 드래그&드롭을 하거나 [Assets] -> [Import Package] -> [Custom Package]를 눌러서
선택해 주면 된다. 총 3개가 있는데, 자신의 프로젝트 환경에 맞춰서 클릭해 주면 된다.
BRP, URP, HDRP로 나눠져 있다. 대부분의 경우 Built-in(BRP) 일 것이다.
아무튼 이 방법대로 패키지를 가져와보면 파일의 내용이 추가되어 있을 것이다.
데모신을 한번 체험해 보면서 어떻게 사용하면 좋을지 감을 잡아보면 좋다.
이것 말고도 굉장히 다양한 데모씬이 있다.
하나씩 체험해 보면 꽤 재밌는 경험이 될 것이다.
그리고 튜토리얼이라고 써져 있는 씬들이 몇 개 있는데, 매뉴얼에 튜토리얼이 나와있다.
매뉴얼을 보면서 튜토리얼을 따라 해는 것도 사용을 익히는 데 도움이 될 것이다.
3. 사용법
설치를 끝냈으니 사용법을 알아보자.
에셋을 사용하는 데 있어서 가장 중요한 것은 구조를 파악하는 것이다.
3-1. Curved World Controller
가장 중요한 스크립트이다. 이게 있어야 월드의 휘어짐을 조작할 수 있게 된다.
game manager를 만들듯이 빈 오브젝트를 하나 만들어서 이 스크립트를 넣어주자.
그럼 위와 같은 모양으로 컴포넌트가 생긴다.
Bend Type은 어떻게 휘어지게 할 건지 조절하는 양식이다.
데모씬에서 본 여러 가지 휘어짐의 종류를 여기서 변경하면 된다.
Bend ID는 이 컨트롤러를 인식할 수단이다. 나중에 월드의 휘어짐 방식을 결정하는
과정이 있는데, 그때 Bend ID가 한번 더 쓰이게 된다.
Pivot Point는 중심을 조절하는 거고,
Bend Settings가 가장 중요하다. Horizontal은 가로로, Verital은 세로로
휘어짐의 정도를 조절한다. 휘어지는 양식을 바꾸면 새로운 값이 생기기도 한다.
하지만 아직 몇 가지 세팅이 더 필요하다.
3-2. chunk
앞선 데모씬에서 도로가 계속 이어지며 휘어졌었다.
이 에셋에서는 이러한 "도로" 같은 걸 chunk라고 부른다. (물론 평면에서는 그것만을 의미하지 않는다)
우리는 chunk를 만들어줘야 한다.
도로를 디자인할 능력이 안되기에 그냥 네모 하나 만들어 봤다.
이걸 chunk로 쓸려면 머티리얼을 만들어줘야 한다.
"Amazing Assets ->... -> standard" 타입인 머티리얼을 꼭 넣어주자.
만들기 싫다면 프로젝트의 material 폴더에 있는 ground 같은 걸 써주면 된다.
도로라고 생각해 주길 바란다. 이제 이걸 chunk로 인식시켜야 한다.
여기에도 manager가 존재한다. 바로 chunk spawer이다.
앞선 controller와 마찬가지로 빈 오브젝트를 만들어 넣어주자.
여기도 중요한 부분이다.
> Chunks 부분에 우리가 만든 네모를 넣어주고 세팅 좀 해주면 된다.
영어를 잘 못해도 저 세팅값들은 다 뭔지 알 것이다.
각각 처음 나올 chunk의 개수, 없어지는 거리, 움직일 방향, 움직이는 속도, 사이즈이다.
거의 다 왔다. chunk자체에도 인식이 필요하다.
Runner Chunk를 넣어주면 이 네모에게도 내가 Chunk구나 하는 인식이 완료된다.
3-3. 월드 세팅
진짜 마지막이다. 유니티의 프로젝트 세팅처럼 이 휘어지는 에셋도
월드 세팅이 필요하다. 위 사진처럼 Curved World를 눌러주자.
그리고 Renderers Overview로 이동해 주자.
이후 Refresh버튼 옆에 있는 줄 세 개 버튼을 누른다.
이후 사진처럼 [Change Curved World Bend Settings]를 눌러주자.
그러면 이렇게 Bend Settings 창이 뜨게 된다.
여기서 원하던 Bend Type을 넣어준 후 ID를 확인하고 Change를 눌러주면 된다.
그다음 그 아래로 가서 Change 버튼을 눌러주자.
그 이후 위에 보이는 경로대로 선택해 주면 된다.
다른 걸 선택하려면 앞서 chunk에 적용한 머티리얼을 바꾸면 된다.
이제 한번 실행해 보자.
4. 실행
실행하고 아까 말한 대로 Horizontal과 Vertical을 조절해 주면 이렇게 멋지게 휘어진다.
항상 휘어짐 정도나 종류, 위치를 변경하고 싶다면 controller를 적극적으로
이용하면 된다. 위 사진은 Horizontal과 Verital의 Size를 조절한 결과이다.
Bend Type을 조절하면서 여러 가지 효과를 체험해 보길 바란다.
이미 여기까지 도달한 상태에서 다른 효과를 보려면 위 사진에서 Bend Type을 바꾸고,
월드 세팅에서 첫 번째로 한 줄 3개 과정을 해주면 된다.
여기까지 세계를 휘게 만드는 방법 - Curved World에 대해서 알아보았다.
솔직히 사용법이 그렇게 간단하지만은 않기도 하지만, 직접 만드는 것보다는 낫고
일단 세팅만 하면 조절은 편한 편이다. 또한 평면에서, 3차원에서 모두 가능하여
활용 범위도 넓다고 생각한다. 가격도 저렴해서 일단 긍정적으로 보고 있다.
마리오 같은 플랫포머에도 적용시키면 한층 있어 보이는 결과물이 된다.
이 에셋의 구매를 고민하고 있다면 "프로젝트에 필요하면 사라" 정도로 평가하겠다.
굳이 필요 없으면 안 사기를 추천한다. 이미 산 사람들에게는 반드시 익혀놓으라고 말하고 싶다.
생각보다 쓸 곳이 많다.
아무튼 오늘의 리뷰와 사용법 정리는 여기서 마치겠다.
만약 구매했다면 매뉴얼도 볼 수 있을 테니까 참고하면 조금 더 쉽게
배울 수 있을지 모른다. 물론 번역은 안된다. 확장 프로그램이 필요한 것 같았다.
이상으로 도움이 되었길 바라며,
끝.
+)
이 글은 제가 실제로 사용해 본 제품에 대한 솔직한 이야기입니다. 링크를 통해 구매하시는 경우, 저에게는 소정의 커미션이 지급됩니다. 하지만, 이로 인해 저의 평가가 편향되지 않았음을 명확히 말씀드리고 싶습니다. 애초에 에셋도 스스로 선정하여 의뢰 후 가져오는 방식입니다. 한번 지원받으면 저도 계속해서 쓸 수 있기에 기능이 안 좋아 보이는 에셋은 받아오지도 않습니다. 이 글의 목적은 전적으로 여러분들의 고민을 돕는 것이며 "광고"로만 보지 않아 주셨으면 합니다. 감사합니다.
'게임 개발 > 유니티 에셋' 카테고리의 다른 글
유니티) 만화 같은 애니메이션 연출! - FEEL. (0) | 2024.08.29 |
---|---|
유니티) 오브젝트를 부서지게 하는 법. (Rayfire) (0) | 2024.06.08 |
유니티) 캐릭터 애니메이션의 정수! 동물부터 인간까지, Animal Controller. (0) | 2024.03.14 |
유니티에서 액체(물)를 표현(구현)하는 방법. - Zibra Liquid - (2) | 2024.02.17 |
유니티) 우주선(SpaceShip) 3d 모델 (model) - Stylized Spaceships Mega Pack (6) | 2024.02.13 |
댓글