13일차 요약인터페이스구현부 없이 선언부만 존재다형성 제공 커맨드 패턴행동을 객체단위로 관리하는 패턴이다.행동에 대한 추적이 편리하여 서버/클라이언트 구조에서 동기화가 용이하다.확정성이 좋다. LinqDB 쿼리와 유사한 형태를 가지는 C#의 쿼리 기능where, select, orderby 등 함수 및 키워드 지원반복문 대신 데이터를 필터링할 때 용이 CoroutineUnity에서 동시성을 제공하는 기능함수를 적절히 분리하여 실행 가능시간 제어, 조건 제어 등 다양하게 활용 가능코루틴을 사용하면 메모리에 올라가는 것이기 때문에 성능에 이슈가 있을 수 있으니 무분별하게 사용하지 않는 것이 좋다.스레드와는 조금 다른 개념코루틴은 단일 스레드에서 코루틴에 관한 오브젝트를 적절히 스케줄링하여 관리따라서, 스위칭..
부트캠프
12일차 요약스택(Stack)LIFO형식의 자료구조이다.활용 예시웹 브라우저 뒤로 가기 : 가장 나중에 열린 페이지부터 뒤로 가기를 실행합니다.문서작업에서 Ctrl+Z : 가장 나중에 수정한 내역부터 되돌립니다.후위 표기법 계산재귀적 알고리즘 Unity Editor CustomizingUnity Editor는 커스터 마이징하여 편리하게 사용하는 것이 가능하다.Menu Item을 만드는 방법[MenuItem("Window/Scope Checker")]Attribute를 이용하여 Menu에 추가한다.OnGUI라는 Unity Event함수를 통해 화면을 어떻게 구성할지 설정한다. Inspector를 설정하는 법Script를 작성할 때, Attribute를 설정하여 Editor에서 표시될 방식을 설정할 수 있다..
11일차 요약링크드 리스트(Linked List)데이터 요소를 순차적으로 연결한 자료구조장점삽입, 삭제에 용이맨 앞/뒤: O(1), 중간: O(n)동적 크기단점접근에 불리: O(N)캐시 비효율역방향 탐색에 불리 더블 링크드 리스트(Double Linked List)링크드 리스트에서 이전 노드를 가리키는 포인터가 추가된 자료구조장점역방향 연산을 개선이전 노드에 대한 즉시 접근 가능단점추가적인 메모리 필요(이전 노드 포인터)삽입, 삭제 시 좀 더 복잡한 연산 필요 링크드 리스트(Linked List)데이터 요소들을 순차적으로 연결한 자료구조각 노드는 데이터와 다음 노드를 가리키는 포인터로 구성메모리 상에서 연속적이지 않은 위치에 저장[Data|Next] -> [Data|Next] -> [Data|N..
10일차 요약자료형데이터 표현 최소 단위: bit8bit = 1byte같은 정수형이라 하더라도 몇 bit를 사용하느냐에 따라 표현 범위가 달라진다.U가 붙는 자료형은 unsigned로 음수를 표현하지 못한다. 배열같은 타입의 요소를 연속된 메모리 공간에 저장하는 자료구조이다.편의 함수Max(): 최댓값 반환Average(): 평균을 반환Contains(var element): element 포함 여부 반환다차원 배열다차원 배열을 선언하는 방식 2가지[,]: 정사각 형태의 다차원 배열[][]: 가변 배열(각 행의 길이가 달라질 수 있음) 자료형컴퓨터는 0, 1로 데이터를 표현한다.이를 표현하는 최소단위를 bit라고 하며 8bit를 1byte라고 한다. 각 자료형은 다음과 같은 표현 범위를 갖는다.I..
9일차 요약(UI, Character, 무한맵, Sound)UIButtonUI::OnClick을 에디터에서 설정할 수 있다.일반적인 EmptyObject와 UI용 EmptyObject의 차이일반적인 EmptyObject는 Transform을 소유하고 UI용은 Rect Transform을 소유한다.UI도 다른 Object와 동일하게 Animation을 생성하고 적용할 수 있다. 2D Image Animation원하는 Sprite를 한 번에 Hierarchy창으로 드래그하면 자동으로 Animtion이 생성된다. 무한맵무한맵을 만드는 방법은 맵을 움직여 무한으로 늘어나는 것 같이 눈속임하는 방법이 있다.Material의 offset을 움직이면 된다. 2D 캐릭터2D캐릭터는 3D와는 다른 Component를 사..
8일차 요약(캐릭터 애니메이션, Light, UI)캐릭터 애니메이션캐릭터 애니메이션을 직접 만든다면 pivot위치에 주의해야 한다.pivot을 설정할 때는 자식으로 pivot을 추가한 뒤, 위치를 조정하고 부모-자식 관계를 뒤집는 게 편리하다.Loop Animation이라면 시작과 끝에서 걸리는 보간을 유의하여 제작해야 한다. LightRealTime: Directional Light, Point Light, Spot LightBaked: Area LightSkybox는 환경광(주변광)의 역할을 한다. UIUnity에 UI를 출력하기 위해서는 Canvas라는 것이 꼭 필요하다.Canvas는 UI를 붙이는 Panel역할을 한다고 생각하면 된다.RectTransform을 이용할 때, Alt를 누른 채로 클..
7일차 요약(Layer, Physic Material, Animtion, Tag)Layer상호작용을 나타내는 preset이다.Layer 간 상호작용에 대한 설정도 할 수 있다. Physic Material물리적인 재질을 나타내는 Asset이다.마찰력, 탄성 등 다양한 값을 가진다.이는 게임상에서 물리적인 계산에 영향을 미친다. AnimationgameObject의 모든 속성을 시간에 맞게 움직이게 하는 Animation을 생성할 수 있다.예를 들어, 이동, 회전, 스케일 등 기본적인 동작도 가능하며 소리의 크기나 pitch 등 역시 조절할 수 있다.Animation을 만들 때, 녹화를 켜두고 원하는 값들을 조정해도 되지만, Key를 수동으로 생성하는 게 좋다고 생각한다.(실수 방지)Animation을 만..
6일차 요약(회전, Collider, RigidBody)회전회전은 크게 오일러, 쿼터니언으로 구분된다. (오일러: (x, y, z), 쿼터니언: (x, y, z, w))오일러 방식으로 회전을 적용하면 짐벌락이라는 문제가 생긴다.짐벌락: 하나의 축이 다른 축과 겹쳐져 구분이 되지 않는 상태오일러 → 쿼터니언: Quaternion.Euler(Vector3)쿼터니언 → 오일러: Quaternion(변수).eulerAngles;회전시키는 함수Rotate(Axis * Degree) : Axis(축)을 기준으로 Dgree만큼 회전RotateAround(TargetPos, Axis, Degree): TargetPos의 Axis를 기준으로 Speed만큼 회전LookAt(Transform, Axis): Transform..