지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=PAKYDX9gPNQ&list=PLFt_AvWsXl0ctd4dgE1F8g3uec4zKNRV0&index=16 이번 강의에서는 적 사망 시 이펙트를 추가해본다. 시작해보자. 적을 쓰러뜨렸을 때 적에게서 파티클이 나오도록 해보자. 적 프리팹을 적당한 위치에 생성하고 파티클 시스템을 만들어 적 위치에 놓자. 이제 인스펙터에서 렌더러 탭으로 이동해 렌더링 모드 - 메시, 머터리얼 - Enemy 로 변경해준다. 위와 같이 적(Enemy) 머터리얼의 큐브 형태로 파티클이 생성된다. 이제 시작 크기를 설정해 파티클 크기를 조절해주고 수명에 걸친 크기 탭에 크기 부분을 클릭하고 에디터 열기로..
Unity
지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=YaLMri-h1JQ&list=PLFt_AvWsXl0ctd4dgE1F8g3uec4zKNRV0&index=15 이번 강의에서는 게임오버, 웨이브 별 스테이지 재구성 등을 추가해본다. 시작해보자. 모든 적을 쓰러뜨리고 다음 웨이브가 시작되면 맵을 변경하는 등 스테이지를 재구성해보자. Spawner 클래스와 MapGenerator 스크립트를 수정한다. | Spawner 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Spawner : MonoBehaviour ..
지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=vOC3usydLeE&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=14 이번 강의에서는 적들이 랜덤한 위치에서 생성되도록 해보자. 시작해보자. MapGenerator 스크립트를 통해 만든 타일맵에서 비어있는 타일 중 하나를 랜덤으로 선택하고 해당 타일에 적이 스폰되도록 하자. 이 때, 적을 스폰하기 전에 타일을 붉은색으로 반짝여 적 스폰을 알려주자. 이를 위해 MapGenerator 에서 생성한 타일들의 정보를 받아오도록 하자. | MapGenerator 스크립트 using System.Collections; using System.Coll..
지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=HuQITd3epIU&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=13 이번 강의에서는 맵 생성기에 기능을 추가하고, 생성한 맵에 적들이 움직이도록 적용해보자. 시작해보자. 맵 생성기에 장애물 높이, 색상 설정 기능을 추가하자. 그리고 지금까지 만든 맵 생성기를 게임에 적용하기 위해 래핑(Wrapping, 클래스를 사용하기 쉽도록 적절한 인터페이스 등의 형태로 감싸주는 것) 해주자. 이를 위해 Map 클래스를 생성하여 속성들을 정리해주자. 이제 스테이지별로 맵을 다르게 하기 위해 Map 배열을 생성하여 배열에서 선택된 맵을 생성하도록 한다...
지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. 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 이라고도 불리는데, 다차원 배열의 어떤 칸과 연결된 영역을 찾는 알고리즘이다. 주변에서 흔히 볼 수 있는 예시로 그림판이나 포토샵의 채우기 기능, 혹은 지뢰찾기 게임에서 지뢰가 없는 칸을 한번..