지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=vQgLdFNrCN8&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=12 이번 강의에서는 지금까지 만들어놓은 맵 생성기를 게임(내브메쉬)에 적용해본다. 시작해보자. 생성한 맵에서도 적들이 플레이어를 추적하게 하기 위해 Navmesh 를 적용해야 한다. 이 때, 맵 전체를 덮는 내브메쉬를 생성하고 돌아다니지 않는 부분은 맵에서 마스킹(제외)시킨다. 이 때문에 보이지 않는 평평한 바닥이 필요하므로 Quad(쿼드) 오브젝트를 하나 생성하자. Map 오브젝트의 아래에 Quad 오브젝트를 생성, Navmesh Floor 로 이름을 변경한다. 메쉬 콜라..
전체 글
게임 만들고 싶어요지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=2ycN6ZkWgOo&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=11 이번 강의도 지난 강의에 이어 맵 자동 생성에 대해서 다루는데, 이번에는 장애물 자동 생성 후 고립 지역이 없도록 조정하는 것을 다룰 것이다. 시작해보자. 맵에 막힌 곳이 있는지 체크하기 위해 Flood Fill 알고리즘을 사용한다. Flood Fill 알고리즘은 Seed Fill 이라고도 불리는데, 다차원 배열의 어떤 칸과 연결된 영역을 찾는 알고리즘이다. 주변에서 흔히 볼 수 있는 예시로 그림판이나 포토샵의 채우기 기능, 혹은 지뢰찾기 게임에서 지뢰가 없는 칸을 한번..
지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=q7BL-lboRXo&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=10 이번 강의도 지난 강의에 이어 맵 자동 생성에 대해서 다루는데, 그 중에서 랜덤한 타일에 장애물을 생성하는 것을 다룰 것이다. 시작해보자. 맵에 장애물을 생성하기 위한 방법으로 간단하게 랜덤한 타일의 x, y 좌표를 받고, 그곳에 장애물을 생성할 수 있다. 하지만 이 방법을 사용하면 장애물이 중복된 위치에 생성될 수 있다. 이를 해결하기 위해 모든 타일들의 좌표를 배열로 저장하고 섞은 다음, 첫 번째 위치를 첫 번째 장애물 위치로 한다. 위 강의에서는 배열의 셔플 알고리..
지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=gIUVRYViG_g&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=9 이번 강의부터 한동안은 맵 자동 생성에 대해 다룬다. 시작해보자. 맵 생성기를 제작하여 임시로 저장해 놓을 새로운 씬 MapGenerator 를 만든다. 빈 오브젝트 Map 을 생성하고 위치를 0, 0, 0 으로 설정하자. MapGenerator 스크립트를 생성하고 Map 오브젝트에 할당해준다. 이제 MapGenerator 스크립트를 작성하자, 일단은 일부만 작성했다. | MapGenerator 스크립트 using System.Collections; using System..
지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=-mEbCEENpjU&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=9 이번 강의에서는 게임의 끝을 만들어본다. 게임이 끝나기 위해 적이 플레이어를 공격해 체력을 깎고, 체력이 모두 깎이면 끝나게 하자. Enemy, IDamaneable, LivingEntity 를 수정해 공격으로 플레이어의 체력을 깎도록 하자. | Enemy 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; [RequireComponent(typeof(UnityEngine.A..
지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=njqRlH3Hj3Q&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=7 이번 강의에서는 적의 공격 시스템을 만들어본다. 시작해보자. 기본적인 구조는 적이 플레이어 주변의 한계 거리까지 들어왔을 때, 색상이 더 붉게 변하며 플레이어를 찌르는 방식으로 한다. Enemy 스크립트를 수정하자. | Enemy 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; [RequireComponent(typeof(UnityEngine.AI.NavMeshAgent)..