게임 프로그래밍/게임개발 중급103 게임개발 중급(33) - 3D 밤송이 게임 만들기(1) 3D 밤송이 게임 만들기(1) 저번에는 유용하게 쓸 수 있는 무료에셋과 유료에셋, 에셋스토어를 활용법 그리고 라이더에 대해서 알아보았습니다. 오늘부터는 3D밤송이 예제게임을 만들어보겠습니다. 해당 게임은 라는 책에 등장하는 예제게임입니다. 해당 예제에서 사용되는 리소스들은 길벗 출판사의 깃허브에서 가져와 사용가능합니다. 링크는 따로 적지 않겠습니다. 두 개의 리소스를 사용해서 밤송이 게임을 만들어보겠습니다. 저희가 목표로 하는 것은 타겟에 밤송이를 클릭을 통해 던지고, 맞추면 점수가 오르고, 못 맞추면 오르지않는 간단한 시스템 입니다. 그러나 저희는 3D 환경에서 게임을 제작해야 합니다. 그러니 우선 게임을 진행할 게임환경부터 만들어 보겠습니다. Terrain(터레인) 3D 환경에서 넓은 지형을 제작하는.. 2023. 5. 24. 게임개발 중급(32) - 유니티 필수 에셋, 유용한 도구 유니티 필수 에셋, 유용한 도구 여태껏 다양한 게임에서 사용될 만한 기본적인 게임 구성 방식에 대해서 다뤘습니다. 움직임이나 아이템, 충돌 등 게임이라면 필수적으로 들어갈만한 내용입니다. 이제부터는 조금 더 응용할 수 있는 내용에 대해서 다루어볼까 합니다. 유니티에서는 에셋스토어가 있는데, 이를 잘 활용하면 생각보다 많은 기능을 쉽게 사용할 수 있습니다. 스타터 에셋 - 1 / 3인칭 캐릭터 컨트롤러 유니티로 3D 게임을 제작하다 보면, 게임을 완성도있게 만들기 위해 필요한 요소가 너무나도 많습니다. 특히 캐릭터를 컨트롤하고 시점을 카메라로 설정하는 방법은 초보입장에서는 어려울 수 있습니다. 그래서 유니티 에셋스토어에서는 해당 기능을 무료로 제공해줍니다. 3D 초보자 : 튜토리얼 리소스 3D 게임을 만드.. 2023. 5. 23. 게임개발 중급(31) - 3D 게임 만들기(총정리) 3D 게임 만들기(총정리) 예제로서 필요한 기본기능에 대한 설명은 모두 마친것 같으니 여태 했던 내용을 총정리하겠습니다. 최종적으로 만들어진 내용물만 포함되어 있습니다. 하이어라키 창과 프로젝트 창 ACAUTIL, FreeButtonSet, OArielG 폴더는 UI에 사용된 에셋폴더들입니다. Material 오브젝트의 구분을 위해 색상을 적용시킨 머티리얼 입니다. Prefabs 이번에 만든 프리팹은 아이템 하나밖에 없습니다. Scripts 이번에는 총 5개의 스크립트가 사용되었습니다. 생각보다 많이 사용되지는 않은 것 같습니다. 스크립트를 하나하나씩 살펴보겠습니다. PlayerController using System.Collections; using System.Collections.Generic; .. 2023. 5. 22. 게임개발 중급(30) - 3D 게임 만들기(10) 3D 게임 만들기(10) 이전에는 스테이지를 만들어 아이템과 게이지를 연동하여 스테이지가 넘어가는 것을 판단할 수 있도록 만들어 주었습니다. 이번에는 4스테이지에 도달하면 게임을 재시작 할 수 있는 버튼을 만들어 보겠습니다. 재시작 버튼 UI 버튼 UI를 만들어 가운데 배치해줍니다.이 버튼은 스테이지 4에 도달했을 때, 나타나서 누를 수 있어야 하므로 SetActive를 통해 활성화/비활성화를 컨트롤 해주어야 합니다. 저는 이전에 에셋스토어에서 다운받은 버튼 UI 이미지를 사용해서 만들었습니다. 이제 스크립트를 작성해 보겠습니다. Restart using UnityEngine; using UnityEngine.SceneManagement; public class Restart : MonoBehaviour.. 2023. 5. 21. 게임개발 중급(29) - 3D 게임 만들기(9) 3D 게임 만들기(9) 저번에는 아이템의 랜덤위치 리스폰에 대해 알아보았습니다. 이번에는 말했던 것처럼 게이지를 사용해 일정 개수마다 스테이지를 넘어갈 수 있도록 만들어 보겠습니다. 그리고 특정 스테이지 이상을 넘어가면 게임을 클리어하도록 하겠습니다. Stage UI 일단 스테이지를 알려줄 UI를 만들어줍니다. 간단하게 텍스트로만 표현해 줄 것이기 때문에 스코어 텍스트 처럼 만들어주고, 왼쪽 상단에 배치하겠습니다. 이제 스크립트를 작성하여 아이템을 먹은 갯수와 게이지의 양에 따라 스테이지가 바뀌도록 해주겠습니다. 새로운 스크립트를 만들지 않고 게이지를 컨트롤 했던 GameDirector에 코드를 추가로 작성하겠습니다. GameDirector using System.Collections; using Sys.. 2023. 5. 20. 게임개발 중급(28) - 3D 게임 만들기(8) 3D 게임 만들기(8) 이전에는 경계의 생성방식을 다르게 하여 만들어 보았습니다. 원래는 이번에 플레이어가 아이템을 먹으면 일정시간이 지난 후, 같은 자리에 다시 생겨나도록 하는 아이템 리스폰에 대해 알아보려 했으나 생각해보니 같은 자리에 생성되면 의미가 없다고 생각하여 랜덤하게 생성하는 방법에 대해 알아보겠습니다. 아이템 프리팹화 저는 초반에 프리팹을 사용하지 않아도 될 것 같다고 판단하여 아이템을 프리팹화 시키지 않고 사용했습니다. 하지만 이렇게 생성과 관련된 일을 해줘야 할 때에는 프리팹화가 거의 필수적입니다. 아이템으로 사용중이던 오브젝트 하나를 그대로 프리팹화 시켜서 Prefabs 폴더를 만들어 보관해 줍니다. 프리팹화 시켰다면, 기존의 아이템 오브젝트들은 전부 삭제합니다. 이제 스크립트를 작성.. 2023. 5. 19. 게임개발 중급(27) - 3D 게임 만들기(7) 3D 게임 만들기(7) 저번에는 게이지 UI, 소리, 파티클을 적용시켰습니다. 이번에는 2D 플랫포머 게임 만들기에서 했던 경계를 생성해 주겠습니다. 게임 맵을 구성하여 만들긴 했지만, 현재 맵을 이동하다 보면 이탈할 가능성이 있습니다. 물론 벽의 높이를 높여 탈출하지 못하게 하는 방법도 있지만, 저희는 경계를 생성하여 벗어나면 원위치로 돌아올 수 있게끔 만들어 주겠습니다. 경계 생성 경계를 생성하여 정해진 위치로 돌아오게 만드는 방법은 여러가지가 있습니다. 이전에 2D 플랫포머 게임 만들기에서 했던 경계생성은 Vector3.zero를 사용하였기 때문에 원점으로 돌아오는 방식이었습니다. 하지만 이런 경우는 우리가 오브젝트를 원점에 생성했을 때에만 적용이 가능합니다. 이번에는 조금 다른 방식으로 경계를 생.. 2023. 5. 18. 게임개발 중급(26) - 3D 게임 만들기(6) 3D 게임 만들기(6) 저번시간엔 시간관계상 4방향 UI를 만들고 자연스럽게 움직이도록 바꾸어주는 작업까지 진행하였습니다. 이번에는 원래 저번에 하려 했던 게이지 UI 시스템을 만들고, 이어서 소리와 파티클을 적용시키는 방법에 대해서 알아보겠습니다. 게이지UI 게이지 UI를 만들어 주겠습니다. 이번에도 에셋스토어에서 간단한 UI 이미지를 위해 에셋을 다운받습니다. 저는 Simple Round Gauge라는 에셋을 다운받았습니다. 에셋을 유니티 프로젝트에 임포트하면, 여러 사용할 수 있는 이미지들이 생깁니다. 저희가 이번에 만들것은 게이지 바입니다. 우선 UI로 이미지를 생성합니다. 이미지가 생성되었다면, 앵커와 RectTransform을 잘 조절해 위치를 정해줍니다. 저는 오른쪽 상단 구석에 배치하도록 .. 2023. 5. 16. 게임개발 중급(25) - 3D 게임 만들기(5) 3D 게임 만들기(5) 저번에는 UI를 사용한 움직임과 다양한 방법으로 움직임을 구현하는 것에 대해 살펴보았습니다. 이번에는 UI를 사용한 움직임을, 코드수정을 통해 자연스럽게 움직이도록 바꿔주고, 상하좌우 4방향으로 만들어 보겠습니다. 그리고 게이지 UI를 만들어 아이템을 먹으면 게이지가 줄어들도록 하는 시스템을 추가하는 것을 해보도록 하겠습니다. 상, 하 방향 UI 만들기 이전에는 좌우방향 UI 컨트롤까지 만들고, 상하방향은 F,B키로 처리했습니다. 이제 상하방향도 UI로 만들겠습니다. 방법은 이전과 같습니다. 우선 상하 버튼은 다른 에셋을 사용해 만들어 보겠습니다. 2D Simple UI Pack이란 에셋을 에셋스토어에서 다운받아서, 버튼에 적용시키겠습니다. 상하 버튼의 코드 작성은 이전에 작성했던.. 2023. 5. 15. 게임개발 중급(24) - 3D 게임 만들기(4) 3D 게임 만들기(4) 저번시간에는 아이템 생성, 방향키로 플레이어 이동하기 및 아이템 획득처리, 점수UI 처리를 하였습니다. 이번에는 UI를 사용한 플레이어의 움직임과 더불어 다양한 방식의 움직임에 대해 알아보겠습니다. UI를 사용한 플레이어 움직임 이번에 해볼 것은 키보드입력을 통한 움직임이 아닌 UI를 클릭하거나 스마트폰에서 게임을 빌드했다면, 터치를 통해서 이동을 조작하는 방식을 해볼 것입니다. 우선 에셋스토어에서 UI로 사용할 이미지를 찾아서 사용할 것입니다. 저는 "Simple Button Set 01" 이란 이름의 무료 에셋을 다운받았습니다. 에셋 스토어에서 다운받은 것을 유니티에서 사용하려면, 유니티에 들어가서 Package Manager -> Packages에 MyAssets로 들어가시면.. 2023. 5. 14. 이전 1 ··· 5 6 7 8 9 10 11 다음