본문 바로가기

2d6

게임개발 중급(10) - 2D 플랫포머 게임 만들기(5), 프리팹(Prefab) 2D 플랫포머 게임 만들기(5), 프리팹(Prefab) 저번에 진행했던 코인을 먹으면 점수가 오르도록 하는 코드, 그리고 최적화에 이어서 진행하겠습니다. 코인으로 저희가 예제를 작성할 때, 콜라이더를 가진 코인 오브젝트를 여러개 만들었습니다. 예제에서는 4개정도 만드는 것에 그쳤지만, 실제로 저희가 게임을 만들다 보면 계속해서 사용되고, 등장하는 오브젝트들이 있습니다. 그 대표적인 예시가 바로 코인입니다. 근데 수많은 오브젝트를 일일이 만드는 것은 개발자 답지 않고, 쓸데없이 불편합니다. 그래서 유니티에서는 프리팹(Prefab)이라는 것을 사용합니다. 프리팹은 재사용 가능한 게임 오브젝트(Game Object)를 의미합니다. 프리팹은 게임 오브젝트와 그것이 가지고 있는 모든 컴포넌트들을 하나의 파일로 묶.. 2023. 4. 29.
게임개발 중급(9) - 2D 플랫포머 게임 만들기(4) 2D 플랫포머 게임 만들기(4) 이전 시간에 플레이어 움직임과 코인을 먹으면 점수가 올라가는 단계까지 진행하였습니다. 이번에는 스크립트 작성할 때, 최적화 혹은 더 간편하게 코드를 짜는 방법에 대해서 이야기 해보겠습니다. 사실 최적화 같은 기술은 한번 배운다고 하루아침에 잘하게 되는것은 아닙니다. 해당 코드와 게임의 구조를 생각하고, 어울리도록 만들 줄 아는 능력이 요구됩니다. 저도 게임 프로그래밍을 배우면서 작성하는 사람인지라 완벽하게 최적화하거나 간결한 코드를 만들 순 없습니다. 사람마다 코드를 짜는 방식도 다르고, 스타일도 다르기 때문에 항상 더 좋은 코드를 찾아서 나아가는 것이 최적화의 길입니다. 추후에 프로젝트가 커지는 것까지 고려한다면, 구조를 상당히 잘 짜야하지만, 일단 저는 간단한 예제로 .. 2023. 4. 28.
게임개발 중급(8) - 2D 플랫포머 게임 만들기(3) 2D 플랫포머 게임 만들기(3) 저번시간에는 바닥을 통해 좌우로 이동하고, 점프하는 플레이어를 만들어 보았습니다. 이번엔 아이템을 먹고 점수가 올라가도록 이어서 설계해보겠습니다. 먼저 아이템으로 사용할 오브젝트를 가져옵니다. 유니티 시스템에 있는 2D 오브젝트를 생성해서 사용해도 되지만, 유니티에는 수많은 무료 리소스를 사용할 수 있는 에셋스토어가 존재합니다. 저는 유니티 기본 UI를 사용하겠습니다. 우선 UI로 Text를 추가하고, 2D 오브젝트 Circle을 만들어 줍니다. UI는 추가하면 Scene 뷰에서는 엄청나게 큰 테두리가 생성됩니다. 그것과 별개로 게임뷰에서는, 왼쪽아래 구석에 Text 글자가 조그만하게 보일 것입니다. 저희는 점수로 사용할 것이기 때문에 화면 중앙에 위치하도록 옮겨주고, S.. 2023. 4. 27.
게임개발 중급(7) - 2D 플랫포머 게임 만들기(2) 2D 플랫포머 게임 만들기(2) 저번 시간에 이어서 2D 플랫포머 게임을 제작해 보겠습니다. 저번에는 게임의 설계방식을 통해 가장 먼저 해야할 오브젝트 배치, 컨트롤러 스크립트를 통한 오브젝트 움직이기 까지 진행하였습니다. 저번에 진행했던 내용에 이어서 진행하겠습니다. 우선 플레이어에 적용한 Rigidbody2D는 물리엔진 같은 개념이기 때문에, 중력이 작용합니다. 그렇기 때문에 이전 코드를 그대로 플레이어에 적용하고 실행시키면, 방향키를 통해 플레이어를 움직이지 않아도 자동으로 밑으로 천천히 내려가는 모습을 볼 수 있습니다. 하지만 이전에 저희가 했던 컨트롤러 코드는 단순히 움직임만 구현하기 위해 작성한 것입니다. 이제부터는 플랫포머에 걸맞는 코드를 작성하며 플랫포머 게임을 만들어 나가보려 합니다. 간.. 2023. 4. 26.
게임개발 중급(3) - 2D 게임제작 기초 2D 게임제작 기초 이제 본격적으로 2D 게임을 만드는 방법에 대해 말해볼까 합니다. 2D와 3D 등등 다양한 프로젝트를 진행할 때에는 각 프로젝트 종류에 따라 사용되는 기술이나 필요한 컴포넌트 등이 달라집니다. 우선 2D 게임 제작에서 알아야할 기본적인 사항에 대해 알아보겠습니다. 1. 스프라이트(Sprites) : 2D 게임에서 이미지, 캐릭터, 배경 등을 나타내는 그래픽 요소입니다. 유니티에서는 스프라이트를 사용하여 2D 그래픽을 렌더링할 수 있습니다. 2. 씬(Scene) : 게임에서 사용할 수 있는 요소들을 배치하고 관리하는 공간입니다. 씬에서는 게임에 필요한 스프라이트, 카메라, 조명, 콜리더 등을 추가하거나 제거할 수 있습니다. 3. 카메라(Camera) : 게임을 플레이하는 플레이어가 볼 .. 2023. 4. 22.
게임개발 중급(2) - 유니티 프로젝트 구성 유니티 프로젝트 구성 유니티를 시작하기 앞서, 유니티로 만들 수 있는 다양한 프로젝트의 종류에 대해서 간단하게 설명하겠습니다. 만약 어떤 게임을 만들지 아직 정해지지 않았다면, 자신이 만들 게임의 종류부터 정해야 합니다. 유니티에서는 여러 가지 프로젝트 구성 옵션을 제공합니다. 다음은 각각의 구성에 대한 간단한 설명입니다. 2D: 2D 게임을 만들기 위한 구성입니다. Sprite와 같은 2D 그래픽 요소를 쉽게 추가할 수 있습니다. 3D: 3D 게임을 만들기 위한 구성입니다. 유니티에서 제공하는 3D 모델링 도구를 사용하여 복잡한 3D 모델을 만들 수 있습니다. VR: 가상 현실 게임을 만들기 위한 구성입니다. VR 헤드셋과 함께 사용할 수 있으며, 유니티에서는 VR 게임 개발을 위한 다양한 도구를 제공.. 2023. 4. 21.