타워 디펜스 (6) - 빌드, 게임 플레이
·
Unity 3D/디펜스 게임
들어가기에 앞서, 테스트용 치트를 비활성화 하겠습니다. PlayerStatus의 치트 활성화 여부를 나타내는 bool을 false로 바꿔줍니다.   14. 빌드유니티 에디터 메뉴의 File >> Build Settings1) Scenes In Build 에 빌드할 씬 추가2) 왼쪽 Platform 에 게임을 실행할 플랫폼 선택3) 왼쪽 아래의 Player Settings... 버튼Player 탭에서 빌드에 필요한 설정하기 해당 작업이 끝난 후 Build 버튼 눌러서 게임 파일 생성 그런데 여기서 문제가 하나 발생했으니유니티 에디터에서 실행할 때는 잘 표시되던 타워 설치 예상도가 핑크색으로 나옵니다. 원인은 전에 타워 설치를 다뤘던 BuildManager 스크립트에 있는데타워 설치 전 반투명하게 보여주기 ..
타워 디펜스 게임 (5) - 타이틀 씬, 레벨 선택 씬, 레벨 별 플레이 씬
·
Unity 3D/디펜스 게임
이전까지는 하나의 씬에서 게임을 진행하는데 필요한 요소들을 만들었습니다. 하지만 타워 디펜스 게임을 해보면타이틀, 난이도 선택 등 다른 화면이 있습니다.이를 만들어 보겠습니다. 11. 타이틀 씬게임 이름, 타이틀 이미지를 표시합니다.using UnityEngine;using System.Collections;using UnityEngine.SceneManagement;public class TitleManager : MonoBehaviour{ const float whenTextAppears = 3f; const float whenGoToMenu = 10f; bool isInputPermitted; Transform PressAnyKeyText; FadeManager fm; ..
타워 디펜스 게임 (4) - 이펙트
·
Unity 3D/디펜스 게임
10. 이펙트 적을 공격했음에도 아무 효과가 없으면 밋밋합니다.최소한의 시각적인 이펙트를 주도록 해보겠습니다. 아주 간단히 기본적인 파티클 시스템을 사용하여 표현하였습니다.1) 타워 설치 효과  2) 적이 처치될 때의 효과간단히 구형의 적으로 구현했는데 이 구가 깨진다는 느낌으로 이펙트를 주었습니다. 적의 종류에 따라 색상이 달라지는데이는 제일 아래의 코드에서 이펙트 호출 시 색상을 바꿔주어 해결했습니다.  3) 적 피격 효과 (1) 기본 타워 총알에 피격  (2) 빔에 피격  (3) 미사일에 피격   4) 이펙트 호출 스크립트이렇게 만든 시각 이펙트들을 적재적소에 호출할 수 있도록 빈 오브젝트에 스크립트를 하나 만들어줍니다.using UnityEngine;using System.Collections.G..
타워 디펜스 게임 (3) - UI, 타워 설치
·
Unity 3D/디펜스 게임
8. UI게임 플레이 화면보다 위에 있는 오버레이 캔버스 UI를 생성하고플레이에 필요한 표시, 버튼을 배치 상단: 플레이어 라이프, 일시정지 버튼 하단: 상점(타워 구매),왼쪽: 코스트(골드),오른쪽: 다음 웨이브까지의 시간using UnityEngine;using TMPro;using System.Collections;using UnityEngine.SceneManagement;using UnityEngine.UI;public class UIManager : MonoBehaviour{ TextMeshProUGUI playerLifeUI; TextMeshProUGUI GameOverRoundUI; TextMeshProUGUI levelUI; GameObject GameOver; ..
타워 디펜스 게임 (2) - 플레이어(카메라 컨트롤, 코스트, 라이프, 치트), 타워
·
Unity 3D/디펜스 게임
5. 플레이어 이 게임을 대략적으로 분석해 보겠습니다. 플레이어 역할(컨트롤) : 코스트를 소모하여 적을 막는 타워 배치, 업그레이드, 카메라 줌인, 줌아웃 이동클리어 조건: 경로를 따라 지나가는 적들을 처치하여 막기실패 조건: 일정 수의 적이 목표 지점에 도착 이에 필요한 것은 크게 3가지로 추려서1) 타워 코스트 (여기서는 골드)2) 타워 (적 공격, +업그레이드)3) 플레이어 라이프 (적을 놓칠 수 있는 횟수)4) 카메라 컨트롤 public class PlayerStatus{ public static int curretStage; public static int maxStage = 20; // 플레이어 소지금, 입출금에 쓸 수 있는 메서드 static int gold = 400..
타워 디펜스 게임 (1) - 맵, 적, 이동 경로
·
Unity 3D/디펜스 게임
1. 맵 제작1) 녹색 육면체 : 적이 필드로 들어오는 입구2) 적색 육면체 : 적이 필드에서 나가는 출구3) 흰 타일타워 배치가 가능한 타일타워가 올라갈 수 있는 1칸을 기준으로 나눠서 제작4) 검은 타일적이 지나가는 통로길 형태를 갖추도록 콜라이더를 최소한으로 사용  2. 적이 지나가는 경로 만들기. 웨이포인트적이 검은 타일을 따라 지나다니게 하려면 각 구간마다 목표가 되는 위치 좌표가 있어야 하며길의 코너마다 위치하게 하는 게 좋겠지요. 위의 스크린샷에서 코너마다 있는 빨간 점이 그 포인트입니다.적의 이동 목표인 빨간 육면체 내에도 하나 더 존재합니다.  using UnityEngine;public class WayPoints : MonoBehaviour{ public static Transf..