전체 글 4

[Unity] Tower Defense 게임 개발 일지 #1

개요개발 과정을 간단하게라도 문서화하고 새로 알게 된 정보를 기록하고자 일지를 써보기로 했습니다.혼자 만들다보니 진행 과정에서 초기 기획과 많이 달라질 수도 있지만지금 당장 생각하고 있는 컨셉은 '방치 안하는 타워 디펜스' 게임 입니다. * 간단하게 구현해본 예상 게임 화면 입니다. 주요 컨셉- 적은 시작 지점에서 생성되어 도착 지점에 도착하면 사라진다. 이 때 놓친 적의 수가 일정 수치를 초과하면 패배- 기본적으로 공격은 자동이지만 스킬 사용은 타워마다 특정 키를 눌러서 사용한다. (키 코드는 랜덤하게 부여) 우선은 이 두 가지를 핵심으로 개발을 진행할 생각입니다. Tilemap배경은 타일맵으로 만들었습니다. 최하단 배경, 적이 이동할 길, 최상단에 올라올 오브젝트 이렇게 3단으로 구성했습니다. Ene..

Coroutine 으로 구현하는 비동기 프로그래밍 (Async/Await와 비교)

* 본 글에서 다루는 Coroutine은 Unity에서 사용되는 Coroutine에 대한 정보 위주로 작성되었습니다. 1. CoroutineCoroutine은 Unity에서 시간을 기반으로 작업을 처리해야할 때 사용되는 기능입니다. 특정 작업을 한 프레임 단위로 끝내지 않고 여러 프레임에 걸쳐서 실행할 수 있도록 도움을 줍니다. Coroutine을 사용하면 함수를 잠시 중단했다가 이후 특정 시점에서 이어서 진행할 수 있기 때문에 대기 시간을 두어 시간 지연을 주거나 반복되는 작업을 효율적으로 처리할 수 있습니다. 2. 사용 방법1) 전체 스크립트using System.Collections;using UnityEngine;public class Coroutine : MonoBehaviour{ void..

공부 정리/Unity 2025.03.23

Synchronous(동기), Asynchronous(비동기), Parallel(병렬) 비교

1. Synchronous(동기)동기 방식은 작업들이 순차적으로 실행되기 때문에 첫 번째 작업이 완료될 때까지 두 번째 작업이 실행되지 않습니다. * Unity는 기본적으로 Synchronous(동기) 방식으로 동작합니다. 예제 스크립트using UnityEngine;public class Synchronous : MonoBehaviour{ void Start() { Task1(); Task2(); } void Task1() { Debug.Log("Synchronous Task 1 시작"); System.Threading.Thread.Sleep(2000); Debug.Log("Synchronous Task 1 완료"..

공부 정리/Unity 2025.03.20

UnityWebRequest를 활용하여 WebAPI와 HTTP 통신

1. UnityWebRequestUnityWebRequest는 Unity 클라이언트에서 웹 서버 측으로 HTTP 요청을 보내고 response를 받도록 도와주는 API 입니다. 공식으로 제공해주는 API인 만큼 Unity에서사용하기 좋게끔 정리가 되어있고 단순한 string부터 JSON 데이터, 이미지 파일 등 다양한 정보를 주고받을 수 있습니다.2. 사용 방법2-1. GET Method (서버에서 데이터 불러오기)1) 전체 스크립트using UnityEngine;using UnityEngine.Networking;using System.Collections;public class WebRequestManager : MonoBehaviour{ private string uri; private ..

공부 정리/Unity 2025.03.19