[멋쟁이사자차럼 부트캠프] 유니티 게임 개발 5기 - 47일차 : 길찾기 알고리즘2 / Nav Mesh
·
카테고리 없음
A* 길찾기 알고리즘실습 목표A* 알고리즘을 직접 구현하여 장애물을 회피하는 경로를 계산한다.경로 시각화 및 장애물 표시를 통해 디버깅과 확인이 용이하도록 한다.전체 구성구성 요소설명NodeA* 알고리즘의 셀 단위 노드 정보 (위치, 비용, 부모 노드 등)PriorityQueue정렬된 오픈/클로즈 리스트 관리용 클래스GridManager맵을 그리드 형태로 구성하고 장애물 노드를 설정AStarA* 알고리즘의 핵심 로직 처리AStarMover실제 시작점과 도착점 간의 경로 탐색 및 Gizmo 시각화1. Node.cs전체 코드더보기using System;using UnityEngine;public class Node : IComparable { public Node parent; public Vec..
[멋쟁이사자차럼 부트캠프] 유니티 게임 개발 5기 - 46일차 : 유니티 교재 → p464 ~ p510
·
멋쟁이사자처럼/부트캠프
3D FPS Shooter1. 적(Enemy) 애니메이션 제어1-1. 공격 애니메이션 실행 (p466)Animator에 Attack 트리거 설정일정 거리 내 플레이어 감지 시 공격 상태 전환 및 애니메이션 실행Animator.SetTrigger("Attack") 으로 재생1-2. Animation Event를 활용한 타격 타이밍 조절 (p476)공격 애니메이션 클립 내 특정 프레임에 Animation Event 추가예: EnemyHit() 함수를 호출하여 정확한 타이밍에 데미지 적용 처리코드 예시:public void EnemyHit() { if (playerInRange) { player.TakeDamage(attackPower); }}1-3. 피격 애니메이션 처리 (p483)A..
[멋쟁이사자차럼 부트캠프] 유니티 게임 개발 5기 - 45일차 : 유니티 교재 → p376 ~ p463
·
멋쟁이사자처럼/부트캠프
FSM 기반 Enemy AI 구현1. 구현 목표상태 머신(Finite State Machine, FSM)을 기반으로 적 캐릭터의 행동을 제어한다.적은 Idle, Move, Attack, Return, Damaged, Die 상태를 가진다.플레이어 탐지, 이동, 공격, 복귀, 피격 반응, 사망 처리를 FSM 방식으로 나눈다.UI 슬라이더를 통해 적의 체력을 시각적으로 표시한다2. 상태 구조 설계private enum EnemyState { Idle, Move, Attack, Return, Damaged, Die }private EnemyState m_State;Update()에서 상태에 따라 각 동작을 분기 처리한다.void Update(){ switch (m_State) { cas..
[멋쟁이사자차럼 부트캠프] 유니티 게임 개발 5기 - 44일차 : 유니티 교재 → p316 ~ p375
·
멋쟁이사자처럼/부트캠프
1. 카메라 마우스 회전 (CamRotate.cs)전체 코드더보기더보기더보기using UnityEngine;public class CamRotate : MonoBehaviour{ public float rotSpeed = 200f; public float mx = 0; public float my = 0; void Update() { float mouse_X = Input.GetAxis("Mouse X"); float mouse_Y = Input.GetAxis("Mouse Y"); mx += mouse_X * rotSpeed * Time.deltaTime; my += mouse_Y * rotSpeed * Time.deltaTim..
[멋쟁이사자차럼 부트캠프] 유니티 게임 개발 5기 - 43일차 : 싱글턴 패턴 / 오브젝트 풀 패턴 / 유니티 교재 → p248 ~ p312
·
멋쟁이사자처럼/부트캠프
1. 싱글턴 패턴 (Singleton Pattern)개요싱글턴 패턴은 특정 클래스의 인스턴스를 하나만 생성하고 어디서든 접근할 수 있도록 만드는 디자인 패턴이다.게임에서 매니저 역할을 수행하는 클래스들(예: ScoreManager, GameManager 등)에 자주 사용된다.전체 코드더보기using UnityEngine;public class Singleton : MonoBehaviour where T : Component{ private static T instance; public static T Instance { get { if (instance == null) { var t = FindFi..
[멋쟁이사자차럼 부트캠프] 유니티 게임 개발 5기 - 42일차 : 유니티 교재 → p149 ~ p247
·
멋쟁이사자처럼/부트캠프
1. 실습 개요유니티 교재 p149~p247 범위에서는 다음과 같은 기능들을 중심으로 실습을 진행충돌(Collision) 및 감지(Trigger) 이벤트2D 비행기 이동 및 총알 발사 구현총알 프리팹과 적 오브젝트 충돌 처리파티클(폭발) 효과 적용점수 시스템 구현 및 로컬 데이터 저장배경 스크롤 및 사운드 리소스 처리 2. 주요 기능 정리2.1 충돌(Collision) / 감지(Trigger) 이벤트유니티에서 오브젝트 간 상호작용을 구현하기 위해 사용하는 물리 이벤트로, Collider 컴포넌트와 Rigidbody 조합을 기반으로 동작한다.충돌(Collision)은 실제 물리적 접촉이 있는 경우, 감지(Trigger)는 물리적인 충돌 없이 통과하며 인식만 하는 경우에 사용한다.충돌 ..
[멋쟁이사자차럼 부트캠프] 유니티 게임 개발 5기 - 40일차 : 다익스트라 / 정렬 알고리즘
·
멋쟁이사자처럼/부트캠프
1. 다익스트라 알고리즘정의그래프에서 하나의 시작 노드로부터 모든 노드까지의 최단 거리를 구하는 알고리즘.양의 가중치를 가진 그래프에서 사용하며, 대표적인 최단 경로 탐색 알고리즘핵심 로직시작 노드에서 거리 0, 나머지는 무한대로 초기화방문하지 않은 노드 중 가장 짧은 거리 선택해당 노드를 거쳐 갈 때 더 짧은 경로가 있다면 업데이트모든 노드를 방문할 때까지 반복전체 코드 (DijkstraSearch.cs)더보기using UnityEngine;public class DijkstraSearch : MonoBehaviour{ private int[,] nodes = new int[6, 6] { { 0, 1, 2, 0, 4, 0 }, { 1, 0, 0, 0, 0, 8 }, ..
[멋쟁이사자차럼 부트캠프] 유니티 게임 개발 5기 - 36일차 : 자료구조 / 배열 예제
·
멋쟁이사자처럼/부트캠프
1. Git 저장소 및 버전 관리 개념 정리Git 저장소 생성 및 복제 흐름GitHub에서 원격 저장소 생성GitHub Desktop을 통해 로컬 저장소로 복제 (Clone)이후 로컬에서 작업 → 커밋(Commit) → 푸시(Push) 방식으로 관리Git의 주요 기능Revert: 특정 커밋의 변경 사항을 되돌리는 새 커밋을 생성Reset: 이전 커밋 상태로 되돌리며 커밋 기록 자체를 제거Branch: 작업을 분리하여 독립적으로 관리할 수 있는 기능Merge: 병합 기능으로 브랜치를 통합 (GitHub Desktop 사용 가능)Rebase: 커밋을 재정렬하여 히스토리를 깔끔하게 유지 (Git Bash 사용) 2. Dictionary (딕셔너리)개요C#에서 Dictionary는 Key-Value 쌍으로 데이..
[멋쟁이사자차럼 부트캠프] 유니티 게임 개발 5기 - 35일차 : 자료구조
·
멋쟁이사자처럼/부트캠프
1. 메모리 구조코드 영역 (Code Segment)프로그램의 코드가 저장되는 공간읽기 전용이며 실행 중에 변경되지 않음컴파일 시 크기가 고정됨데이터 영역 (Data Segment)static, const, 전역 변수 등이 저장됨프로그램 시작 시 메모리에 한 번 할당되고 실행 중에는 크기 변경 불가힙 영역 (Heap)new로 생성한 객체, 배열 등 참조형 데이터 저장런타임 중 크기 동적 할당 가능메모리 관리는 GC(가비지 컬렉션)가 처리스택 영역 (Stack)함수 호출 시 생성되는 지역 변수, 매개변수 등이 저장됨함수 종료 시 자동 제거매우 빠르게 접근 가능 2. 자료구조 개요단순 구조 (Primitive)정수, 실수, 문자, 논리 등 기본 타입선형 구조 (Linear)데이터가 일렬로 나열된 구조배열, ..
[멋쟁이사자차럼 부트캠프] 유니티 게임 개발 5기 - [고양이 게임(2D 횡스크롤) Project
·
멋쟁이사자처럼/부트캠프
1. 프로젝트 개요'Cat Jump Run'은 Unity를 사용해 제작한 2D 횡스크롤 러너 스타일의 게임입니다.💡 플레이어는 제자리에 고정된 고양이 캐릭터를 점프시키며 장애물을 피하고, 사과 아이템을 획득해 점수를 쌓습니다.단순한 조작으로도 몰입감 있게 플레이할 수 있도록 구성하였으며, 기초적인 물리 기반 이동, 애니메이션 전환, 충돌 처리 등을 중점적으로 구현했습니다.플랫폼: Unity 3D (2D 환경으로 바꾸어 작업)장르: 2D 횡스크롤컨셉: 귀여운 고양이가 장애물을 넘으며 계속 달리는 게임그래픽 스타일: 도트 기반 픽셀 아트 2. 구현한 주요 기능전체 코드 (CatController.cs)더보기using System;using UnityEngine;using CatJumpRun;using Sy..