일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- unreal
- 구현
- 운영체제
- 유한상태기계
- UI 자동화
- DFS
- 재귀
- 이득우
- fsm
- 언리얼
- 너비우선탐색
- 유니티
- 이분탐색
- unity
- c#
- 개발일지
- 인프런
- upper_bound
- lower_bound
- 게임개발
- binary_search
- 시리얼라이제이션
- c++
- 게임개발공모전
- 알고리즘
- 백준
- 웅진씽크빅
- BFS
- 프로그래머스
- 안드로이드
- Today
- Total
목록Game (23)
초고교급 희망
서론... [SerializeField] TMP_Text _text; ↑ 위와 같이 유니티 툴에서 직접 해당하는 오브젝트들을 바인딩하게 되면 번거롭다. 툴에서 하지 않고 코드를 통해 바인딩 하는 UI 자동화에 대해 배워보겠습니다. UI_Base.cs using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class UI_Base : MonoBehaviour { protected Dictionary _objects = new Dictionary(); protected void Bind(Type type) where T : UnityEngine.O..
이번 주 저의 할 일이었는데요 맨 밑에 두개...는 좀 손볼게 많아서 완성이 덜 됐네요. 중요한 내용 위주로 설명해드리겠습니다!! 참고로 미니언은! 보스 몬스터의 공격 스킬 중 하나인데요, 작은 쫄병 몬스터들을 소환해서 공격하는 것이 있습니다. 그 때 소환된 녀석들을 미니언이라고 부르고 있어요! 친구가 제가 하던거에 미니언이라고 적힌거 보고 요즘 미니언즈 만드냐고 하길래 추가 설명입니다 ㅜ.ㅜ 1. 미니언 피격 Effect Minion클래스의 Partial 클래스로 Minion.Behit 클래스를 만들어서 구현해줬습니다 EJ님이 이렇게 구현하시길래 보고배워서 따라해봤습니다! 파샬 클래스 설명 -> https://ymthebest.tistory.com/34 [C#] Partial 클래스 Partial이란?..
Partial이란? 클래스, 구조체, 인터페이스 또는 메서드의 정의를 둘 이상의 소스 파일에 분할하는 것이다. 모든 부분은 컴파일될 때 결합된다. 장점 대규모 프로젝트에서 작업하는 경우 클래스를 개별 파일에 분산하면 여러 프로그래머가 동시에 클래스에 대해 작업할 수 있습니다. 예시 public partial class Employee { public void DoWork() { } } public partial class Employee { public void GoToLunch() { } } Unity에서 사용 예시 현재하는 프로젝트에서 Boss나 player처럼 길이가 긴 클래스들은 partial class로 되어있다. 관련있는 기능별로 스크립트가 나누어져있는데 가독성도 좋고 깔끔해서 좋다. 이 경우..
1. Unity 구성 우리가 코드로 접근하는 것은 C#이지만 엔진 내부의 공간은 C++로 이루어져있다. Physics는 물리 충돌을 위한 공간. 2D용과 3D용 물리엔진이 따로 있음 transform에 C#으로 접근하면 엔진 내부 C++와 물리엔진 공간 모두에 영향을 미친다. 오버로드 되어 있는 translate코드들-> 내부에 어떻게 생겼는지 깃허브에서 c++로 볼 수 있다. C#과 C++과 물리엔진 세 가지의 세계 중, 한 세계에서 변화를 주면 나머지 두 공간에서도 싱크를 맞추기 위한 코드가 호출된다. 포지션을 하나 움직인다고 해서 독립적으로 작동하는 것이 아니라 로테이션에도 영향을 미친다. 서로 다 영향을 미치는 존재. (수포자를 위한 게임 수학이라는 책에 자세히 나온다고 함..(?) 네? 갑자기 ..
1. 미니언 FSM 시스템 이번엔 보스 몬스터의 공격 패턴 중 하나인 미니언을 구현하였습니다. ej님이 이전에 구현해두신 유한상태기계(FSM) 클래스들을 상속받아서 사용했습니다. FSM에 대한 설명은 여기로... https://ymthebest.tistory.com/30 미니언의 상태는 idle, move, dead, behit 4가지가 있습니다 근데 지금 behit는 구현이 안 되어서 공격 당하면 상태가 dead로 설정되고 바로 죽어버립니다.ㅠㅠ dead로 가기전에 behit 상태를 추가해서 이펙트가 출력될 수 있도록 앞으로 수정해야합니당... 보스의 상태가 미니언을 불러내는 공격이 되었을 때 오브젝트 풀링으로 미니언 프리팹들을 생성 합니다. 그럼 생성된 미니언 클래스에서 미니언 스테이트 머신을 생성해..
FSM이란? FSM은 이름처럼 유한한 수의 상태로 구성되며, 주어진 시간에 이 상태는 하나만 활성화된다. 각 상태는 수신하는 입력에 따라 출력으로 전환할 상태를 정의한다. 출력 상태가 새 활성 상태가 된다. 즉, 상태 전환이 발생한다. 예시 플랫포머 게임에서 바닥에 서 있는 캐릭터 스탠딩 상태는 버튼을 눌러 캐릭터를 점프할 때까지 활성 상태이다. 버튼 누름을 유효한 입력으로 식별하고 출력으로 점프 상태로 전환한다. 계층적 상태 머신 계층적 상태 머신을 통해 공유하거나 공통인 동작을 위해 다른 상태로 일종의 위임을 할 수 있다. 계층적 상태 머신에서 하위 상태는 처리되지 않은 입력을 상위 상태로 위임한다. 이를 통해 논리를 유지하면서 FSM의 크기와 복잡성을 줄일 수 있다. 상태 패턴의 의도 내부 상태가 ..
1. 보스 전투 부분 횡스크롤로 변경 가장 큰 변경 사항이네요. 기획이 수정되어서 지금까지 만든 부분을 싹 수정 하는 중입니다. 저는 기획자님이 바꾸라면 바꾸는 순종적인 프로그래머입니다. 충성! 🫡 일단 수정된 기획서 내용대로 적용한 부분은 다음과 같습니다. 1) 카메라 고정 2) 플레이어의 이동 방향 변경 기존: 4방향 -> 현재: 좌우로만 이동 가능 3) 맵 크기 변경 이전에 제대로 보여드리지는 않았지만 맵이 카메라 범위의 4배 사이즈였습니다. 이제 카메라랑 동일한 범위에서 전투 하도록 맵이 축소되었습니다. 4) 플레이어 hp와 패시브 버프 쿨타임 UI 위치 수정 원래는 발바닥 쪽에 있었는데 정수리로 옮겨졌습니다. 그리고 신규 추가된 기능... 1) 보스와 닿으면 플레이어의 hp가 닳습니다. 닿아있으..
안녕하세요? 며칠 전 하지였죠. 본격적으로 무더위가 시작되네요. 제철 과일 드시면서 무더위를 이겨내시길 바라겠습니다. 전 최근에 기획 허지향님과 자두 한 박스를 사서 나눠 먹고 있습니다. 1.이벤트 기반 아키텍처 저번 화에 플레이어는 싱글톤으로 처리했다고 했었지요. 하지만 은주님이 이벤트 기반으로 변경하는 것이 좋겠다고 리뷰를 달아주셔서 개선했습니다! 🫡 이벤트 기반 아키텍처란? 소프트웨어 디자인 패턴 중 하나로, 이벤트를 중심으로 컴포넌트 간의 상호작용을 구조화하는 방법입니다. 이 패턴은 애플리케이션의 유연성, 확장성, 모듈성을 높이고, 결합도를 낮추는 데 도움이 됩니다. 일반적으로 이벤트 기반 아키텍처에서는 이벤트(또는 메시지)를 발행(Publish)하고, 해당 이벤트를 구독(Subscribe)하는 ..