
설치까지의 과정과 사소한 지식들

게임 엔진 게임을 만드는 데에 필요한 여러 기능들을 한 데 모아 툴로 만든 것을 게임 엔진이라고 한다

프로젝트 만들기. 그리고 유니티의 기본 기능들을 알아본다

오늘 배운 내용 실습

이동을 배웠고, 회전을 배웠으니 응용해서 위치이동을 구현해본다

게임의 최적화와 관련된 디자인 패턴. 게임에서는 생성과 파괴에서 왜 파괴를 조심해야 되는지, 그리고 해결 방법이 무엇인지 알아보자

위치와 회전, 스케일을 관리하는 컴포넌트 Transform. 어떻게 캐릭터를 움직일지 알아보자

가장 기초적인 물체간의 상호작용 중 하나다. 충돌에 필요한 연산량을 어떻게 줄일 수 있나 알아보자

충돌 전에 판별하기 위한 기능이다. 흔히 FPS에서 많이 쓰인다

병렬로 작업들을 처리하는 방법들을 알아본다

C#의 델리게이트와 이벤트가 유니티 에서는 어떤식으로 구현되어 있는지 알아보자

인터페이스, 어댑터, 싱글톤을 활용하는 실습을 진행한다

리소스 및 플러그인을 얻기 위한 장터

게임의 시각적인 정보를 사용자에게 제공하는 인터페이스다

오늘 배운 내용들을 토대로 실습을 진행한다

지금까지 배운 유니티 내용들을 가지고 간단하게 총알을 피하는 게임을 만들어본다

유니티 내부에서 어떤식으로 게임이 동작하는지 알아보자

오브젝트를 많이 언급하고 다루긴 했지만, 정확히 무엇인지 알아보자

공장에서 찍어내듯이 게임 오브젝트 만들기

게임의 규모가 커질 수록, 게임의 오브젝트들 또한 마찬가지로 많아진다. 모든 오브젝트를 다 불러와서 게임을 할 수는 없으니, 효율적으로 적절히 불러오고 다시 삭제해야 한다

UserInterface. 유저와 소통하기 위한 수단. 사용자가 처음으로 프로그램과 소통하게 되는 창구이다 UI 대표적인 UI가 키보드, 마우스다. 지금은 입력 장치로 구분되지만 처음 나왔을 때는 UI였다 게임 UI 정보를 제공 해주거나 , 알려주는 유저 인터페이스.

유니티의 기본 지원 UI들은 어떤 것들이 있는 지, 어떻게 쓰는 지 알아본다

씬을 추가하고, 씬을 바꾸는 방법을 알아본다

게임의 그래픽은 어떤 것들로 이루어져 있는지 알아본다

렌더링과 텍스쳐가 혼합된 것 화면을 그려주는 텍스쳐 라는 뜻 2d이미지로 구성된 특정 오브젝트의 전개도를 텍스쳐라고 한다

게임 오브젝트들의 분류를 나누기 위한 용도로 쓰이는 기능. 태그랑 같은 기능이다. 그래픽, 물리엔진과 같이 선별적으로 동작해야 하는 기준을 정할때 사용한다

유니티에서 사물을 상태에 따라 지정된 움직임을 수행하게 하는 방법을 알아본다

유니티에서 제공하는 간편한 연출 도구다. 카메라와 관련한 여러 설정들을 통해 게임의 컷씬, 연출, 시점 변경등이 가능하고 TPS 등 독특한 시점을 가지고 있는 게임들도 만들 수 있다

소리를 구현하기 위해서는 크게 두 가지가 필요하다. 소리를 내는 근원, 소리를 듣는 물체

게임의 미적 효과들을 담당하는 파티클 시스템과 기존의 인풋매니저보다 한층 강화된 인풋 시스템을 배워보자

길찾기 알고리즘인 A\*알고리즘을 활용한, 유니티에서 제공하는 길찾기 패키지이다

게임의 자료들을 데이터베이스로 관리 하기, 세이브 데이터를 만들어 저장, 불러오기 구현

디자인 패턴 중 플라이웨이트 패턴으로 구현된 기능이다. 미리 지정된 데이터들을 가지고 프리팹화 할 수 있다

유니티로 2D 게임을 만드는 것도 가능하다. 3D에서 썼던 컴포넌트들이 대부분 2D 전용으로 따로 있다 간단하게 플랫포머 게임을 구현해보면서 기능들을 익혀보자

게임에 생동감을 불어 넣어줄 애니메이션. 스프라이트로 어떻게 이것을 구현하는지 알아보자

게임의 맵을 그릴 때, 반복적인 작업을 줄이기 위해 쓰는 기능이다. 타일맵을 통해 맵, 플랫폼, 배경 같은 패턴이 있는 스프라이트들을 빠르게 그려낼 수 있다

시네마틱 처럼 장면을 연출하기 위한 기능.

컴퓨터가 그래픽을 어떻게 모니터에 출력하는지 알아보자

유니티에서 쓰이는 Renderpipe Line 이다. 범용적인 렌더 파이프라인으로 쓰고자 할 때, 좋은 옵션이다

가상세계 속으로 들어가 게임을 해보자!

Unity에서의 VR개발을 위한 환경 설정을 한다

VR 환경에서 상호작용을 담당하는 컨트롤러의 기능들을 알아본다

사용자의 손 자체를 컨트롤러로 만들어본다

기획 5명과 프로그래밍 5명이 모여 합반 프로젝트를 진행한다. 기획 팀에서 게임의 기획을 하면, 프로그래밍 팀이 해당 기능을 구현한다.

오늘은 역할분담이 완료되었으므로, 개인적인 RnD를 진행한다

개인적으로 주어진 업무에 맞춰 RnD를 진행한다

오늘 배우는 내용은 디지털 공구리다. 정석적인 방법이 아닌 현업에서 효율을 포기하고 구현과 유지보수를 쉽게하기 위해 쓰는 방법들이다.

간단하게 맡은 파트 기능의 프로토타입을 만들어본다. 이후 추가적인 파트 분담을 한다

오늘은 기획팀에게서 받은 시스템 기획을 토대로 UML 작성 및 추가 역할분배가 이루어졌다

오늘은 플레이어 구현을 어느정도 마무리하고 UI 시스템을 구축한다

오늘은 UI 플로우 차트들을 바탕으로 씬들을 제작한다.

주말 중 작업내용 정리

UI 구현 중

오늘은 세이브 데이터 생성 및 연동을 해결함

에너미 연결. 캐릭터 컨트롤러 연결

남은 기능 들 중 BIg 3 구현

오늘은 플레이어 컨트롤러와 HUD 연결을 진행. UI 에셋들을 적용함.

오늘은 총알 프리팹 적용. 장비구현을 함
남은 기능 구현 및 수정 장비 기능 UI 연결 (InvenPopUp) 장비 강화 (EnhancePopUp) 캐릭터 미세조정 및 (PlayerController) 플레이어 발사 시 이펙트를 플레이어로 옮겨야 함 Hit 이펙트 크기가 이상함. UI 상 베스트 스코어 표기
장비 구현, 인벤토리 구현, 강화 구현 완료

발표 자료(준비중)발표와 관련하여 준비중

유니티에서 제공하는 네트워크 기능인 PUN2를 통해 네트워크 게임을 구현해보자

RPC 관련 문제들 중 자주 발생하는 문제에 대한 해결법들이다

저번에 이어서 매치메이킹을 완성한다. 그리고, 게임에 접속해서 각 클라이언트들간의 동기화를 하는 방법을 알아본다.

이번에 팀 프로젝트를 진행하면서, 기술 문서로 남길만한 부분들과 트러블 슈팅으로 남길만한 부분들을 옮겨 적어본다.
팀 프로젝트 기술문서, 트러블 슈팅

TPS 게임에서 마우스를 움직이면, 캐릭터도 따라 움직여야 한다. 애니메이션을 덮어 씌워서 원하는 움직임을 표현하는 애니메이션 리깅을 알아본다.

네트워크 프로젝트 기술문서, 트러블 슈팅
네트워크 프로젝트 기술문서, 트러블슈팅

오디오 관리 기술문서

게임의 오디오 출력을 관리하는 방법을 알아보자

승 수가 가장 높은 10명을 출력하는 리더보드를 만들어보자데이터베이스에서 값을 불러 올 때, 정렬과 필터링을 사용해서 가져온다1\. OrderByChild("win") : int형인 승리 수를 기준으로 정렬한다.2\. LimitToLast(10) : 정렬된 결과 값에서

에셋을 외부저장소에서 불러와 적용할 수 있게 해본다.

파이어베이스에서 GPGS 연동과 이를 통한 인증 연동을 다뤄본다.

오늘은 Reactive 프로그래밍과 관련된 것들을 배운다.

모바일 프로젝트의 빌드를 위한 세팅 특강

오늘은 Reactive Programming이 무엇인지, Unity에서 사용되는 리액티브 프로그래밍 라이브러리인 UniRx를 알아본다.

종속성 주입용으로 사용되는 패키지인 Zenject의 사용법을 알아본다