반응형

Unity3D/유니티 공부 18

State 패턴

게임을 만들다보면, 하나의 캐릭터는 굉장히 많은 동작을 수행해야한다. 대기, 걷기, 뛰기, 앉기, 공격 등등등... 그런데 스크립트 상에서 이러한 동작을 전환시키려면 어떻게 해야할까? 각 상태별로 Boolean 변수를 만들어서 각 변수를 체크한다? 동작이 한 두개라면 쓸 수 있는 방법이겠지만, 동작이 많아지면 많아질수록 관리가 감당이 안될것이다. 이럴때 사용하는 방법이 바로 State 패턴. public enum PlayerState { Die, Moving, Idle, Channeling, Jumpling, Falling, } PlayerState _state = PlayerState.Idle; 우선 이렇게 동작을 정의? 해준다. void Update() { switch (_state) { case P..

유니티 간단하게 조이스틱 이동 해보기.

이런 분들이 보시면 좋습니다. 유니티에 대해 감이 잘 안오시는분, 코드를 직접 작성하는것이 아직 어려우신 분 코드에 대한 이해보다는 우선 구현이 목적이신분. 무언가를 만들어 보는것에 의의를 두시는 분... 즉, 어떻게 해야 조이스틱 코드를 직접 짜고 구현하는것이 목적이 아닌, 작동에 목적을 두시는 분들에게 추천합니다. '에셋'을 활용하여 매우 간단하게 조이스틱 이동 구현하기. 이동시킬 오브젝트 생성 3D나 2D나 둘 다 상관은 없지만, 조금 더 직관적인 이해를 위해서 2D로 해보도록 하겠습니다. 우선 2D 스프라이트 오브젝트를 하나 생성해 줬습니다. 조이스틱 에셋 다운로드 만든 오브젝트를 움직이기 위해서는 컨트롤러, 이번 경우에는 조이스틱이 필요합니다. 그럼 그 조이스틱은 어떻게 만들까요? 직접 만든다는..

[Unity2D 공부] 기초적인 클리커 게임 제작

유니티 게임 제작 - 교보문고 1인 게임 만들어 돈벌기 | 1인 게임으로 수익 창출어떤 매체보다 빠른 속도로 정보를 교류하는 1인 미디어 시대에 발맞추어 나만의 게임을 만들고 출시하여 수익을 창출하기까지를 한 권에 담았 www.kyobobook.co.kr 위 책의 Chapter5를 보고 만든 기초적인 클리커게임이다. 책 자체가 사실 엄청 세세한 부분까지 하나하나 짚어가며 알려주는 건 아니다. 다만 대략적으로 게임 제작의 흐름을 파악할수있고, 그리 어렵지않은 예제 프로젝트를 따라가다보면 유니티와의 내적친밀감이 꽤나 상승하게 된다. 처음에 유니티를 접해서 기본적인 사용법정도를 배울때 괜찮은 책이라고 생각한다. 이 책을 통해 몇가지 간단하게 만든 후, 추후 좀 더 깊은 내용이 있는 책으로 공부하는게 좋지 않을..

[Unity2D 공부] 이동과 충돌 학습정리

인프런에서 강의를 듣다가, 이건 아직 내가 소화할 난이도가 아니다 싶어서 일단 덮어두고 서점에서 간단한 책을 사왔다. 그래도 강의에서 배운게 허투루 배운것은 아니었는지 유니티를 다루는 거 자체는 예전보다 훨씬 수월했고 내용을 이해하는것이 괜찮았다. 책에 있는 간단한 프로젝트를 따라하며 생 기초를 익히고 있는 중... 우선 첫 번째로 종스크롤 슈팅 게임을 만들었다. 결과물 정말 간단한 종스크롤 슈팅게임이다. 배경 / 비행기 / 총알 / 적 / 점수 구성요소는 단 5개이다. 내가 스프라이트 이미지가 없다고 하니 바쁜 시험기간에도 열심히 비행기 / 적(지토) / 총알(로켓) 을 만들어준 친구에게 압도적 감사... 폰틱의 블로그 pontic.tistory.com [도와준 친구의 블로그] 사실, 적과 부딪히면 죽..

[Unity 게임 개발을 위한 C# 공부 일지] 길찾기 - 3 (트리, 힙)

본 포스팅은 '[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈]' 인프런 강의를 수강 후, 개인적으로 배운 내용을 정리합니다. 코드의 경우에는 강사님의 저작권을 훼손할 염려가 있어 결과의 모습, 이론적인 내용을 중점으로 정리합니다. 트리 - 계층적 구조를 갖는 데이터를 표현하기 위한 자료구조 기능이 일부 제한된 그래프이다. 즉, 트리 또한 그래프의 일종. 트리는 순환해서는 안 되며, 한 쪽 방향으로만 쭉 뻗어나아가야 한다. [계층적]구조이기 때문에 트리 관련 용어 노드(node): 트리를 구성하는 기본 원소 루트 노드(root node/root): 트리에서 부모가 없는 최상위 노드, 트리의 시작점 부모 노드(parent node): 루트 노드 방향으로 직접 연결된 노드 자식 노드(child nod..

[Unity 게임 개발을 위한 C# 공부 일지] 길찾기 - 2 (그래프)

본 포스팅은 '[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈]' 인프런 강의를 수강 후, 개인적으로 배운 내용을 정리합니다. 코드의 경우에는 강사님의 저작권을 훼손할 염려가 있어 결과의 모습, 이론적인 내용을 중점으로 정리합니다. 스택과 큐 둘 다 선형자료구조. 자료들이 일자로 나열되어 있는 형태 스택: LIFO(후입선출, Last In First Out) 사용 예시 ) User가 UI창을 여러개 띄우는 경우, UI 창이 꺼질때 나중에 켜진 창이 먼저 꺼지는 식으로 꺼진다. 큐 : FIFO(선입선출, First In First Out) 사용 예시)멀티플레이 게임이라면, 서버로 한순간에 여러 요청이 들어올텐데 그 때 먼저 들어온 요청부터 처리한다. 그래프 현실 세계의 사물이나 추상적인 개념 간의 ..

[Unity 게임 개발을 위한 C# 공부 일지] 길찾기 - 1(미로 생성, 우수법)

본 포스팅은 '[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈]' 인프런 강의를 수강 후, 개인적으로 배운 내용을 정리합니다. 코드의 경우에는 강사님의 저작권을 훼손할 염려가 있어 결과의 모습, 이론적인 내용을 중점으로 정리합니다. 게임 개발의 순서 게임 개발의 순서는 크게 3단계로 나눌 수 있다고 한다. 입력 이벤트 처리 로직 업데이트 디스플레이 렌더링 이에 기반해서 길찾기 알고리즘을 통해 자료구조를 공부하는 방식으로 진행하려고 한다. 미로 생성 길을 찾는다라는 것이 무엇인가? 출발지가 있고 목적지가 있어, 출발지로부터 목적지까지의 올바른 길을 선택하여 목적지에 도달함을 말한다. 그렇다면 그 사이의 경로가 있어야 길찾기를 공부할 수 있음인데, 그 경로는 어떻게 만드는가? 물론, 직접 제작하는 방..

[Unity 게임 개발을 위한 C# 공부 일지] TextRPG 기초 제작 - 전투

1. 몬스터 STR, DEX 추가 2. 몬스터와의 전투 구현 3. 경험치 상승에 따른 레벨업 구현 저번에 했던 것에 이어서 추가로 구현한 부분이다. 생각보다 전투부분을 만드는데 많은시간이 들었다. 몬스터와 유저의 DEX(민첩)의 차이를 기반으로해서 회피 및 크리티컬이 변동확률로 적용되게했다. static void Cal_Critical(Player user, Monster mon, out int UserCri, out int MonCri) { if ((user.DEX - mon.DEX) > 0) { UserCri = (((user.DEX - mon.DEX) * 70) / mon.DEX) + 5 + (user.DEX / (user.LV * 10)); MonCri = 5 + (mon.DEX / (mon.LV..

반응형