분류 전체보기(52)
-
Sprite Atlas - 스프라이트 아틀라스
이전에... 2D 프로젝트는 스프라이트와 다른 그래픽스를 사용하여 씬의 시각적 요소를 만듭니다. 따라서 단일 프로젝트에 다수의 텍스처 파일이 들어 있을 수 있습니다. 일반적으로 Unity는 씬의 각 텍스처에 대해 드로우 콜을 발행합니다. 하지만 많은 텍스처가 포함된 프로젝트의 경우 여러 개의 드로우 콜이 존재하면 리소스를 많이 소비하여 프로젝트의 성능을 저하시킬 수 있습니다. Sprtie Atlas 정의 여러 개의 텍스처를 단일 텍스처로 결합하는 에셋입니다. Unity는 여러 개의 드로우 콜을 발행하는 대신 이러한 단일 텍스처를 호출함으로써 하나의 드로우 콜을 발행할 수 있습니다. 그러면 큰 성능 소모 없이도 패킹된 텍스처에 동시에 액세스할 수 있습니다. 또한 스프라이트 아틀라스 API는 프로젝트의 런타..
2021.11.16 -
C# IEnumerator, IEnumerable
IEnumerator - 열거자 인터페이스 정의 IEnumerator 는 제네릭이 아닌 모든 열거자의 기본 인터페이스이다. 사용 현재 데이터를 반환하는 Current를 반환하는 함수를 구현한다. 현재 참조하고 있는 노드의 다음노드를 가르키고, 다음 노드가 존재하는지를 반환하는 함수를 구현한다. 컬렉션의 첫번째 요소를 가르키도록 하는 리셋 함수를 구현한다. IEnumerable 정의 제네릭이 아닌 컬렉션에서 단순하게 반복할 수 있도록 지원하는 열거자를 노출하도록 하는 인터페이스이다. 사용 IEnumerator 를 반환하는 GetEnumerator() 함수를 구현한다. 예시 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 ..
2021.11.16 -
C# Generic Basic
Generics 정의 타입을 디자인 할 때가 아닌 클라이언트가 사용할 때 지정해주는 기술이다. 사용 메소드, 클래스 등에 유연성(재사용성)을 제공함과 동시에, 컴파일 타임에서의 타입 안정성을 제공한다. Object의 사용을 줄여 Boxing / Unboxing 으로 일어나는 자원의 소모를 막을 수 있다. 예시 오른쪽 코드를 보면, MyIntLinkedList 타입의 연결 리스트는 AddFirst에서 int 만을 받아와 노드를 생성하기 때문에 여러 타입을 제공할 수가 없다. 그러나 MyLinkedList 타입의 연결 리스트는 Generic을 사용했기 때문에 클라이언트가 원하는 타입으로 노드를 생성할 수 있고, 다른 타입의 데이터를 파라미터로 전달하려 하면 컴파일 타임에서 에러가 나게 된다.
2021.11.11 -
언리얼 적응하기 #2 (번외편 클래스 다이어그램)
- 이번 시간에는 게임 개발 뿐 아니라 모든 개발과정에서 코딩을 하기 전에 중요한 작업 중 하나인 UML 작성에 대하여 공부한다. UML : Unified Modeling Language 소프트웨어공학에서 사용되는 표준화된 범용 모델링 언어 전체 시스템의 구조 및 클래스의 의존성 파악 유지보수를 위한 설계 의사소통을 위한 도구 Class Diagram UML 다이어그램 중 하나로 구조 다이어그램에 속한다. 클래스 내부의 정적인 내용을 표현 (속성과 연산은 생략 가능하다) 클래스 사이의 관계를 표기한다. 일반화 관계 한 클래스가 다른 클래스를 포함하는 상위의 개념일 때 객체지향 개념으로는 상속 관계라 한다. 집합 관계 전체와 부분의 관계를 명시 aggregation 부분을 나타내는 객체를 다른 객체와 공유..
2021.06.30 -
언리얼 적응하기 #1
- 해당 스크립트는 이득우의 언리얼 C++ 게임 개발의 정석을 참고하였습니다. - 언리얼 엔진의 콘텐츠를 구성하는 핵심 요소를 학습하고, 필수적인 문법요소를 훑어본다. - 그중에서도 액터와 컴포넌트에 대해서 다뤄본다. 언리얼 콘텐츠의 구성 요소 월드 : 게임 콘텐츠를 구성하기 위한 필수적인 환경 뷰포트 윈도우에 보이는 작업 공간을 월드라 부른다. 월드의 구성요소 공간 : 가상 세계를 구성하는 3차원의 영역. 물체는 월드의 어딘가에 존재해야 하는데, 이를 위해 Transform 이라는 구조체를 제공한다. 시간 : 가상 세계에서 흐르는 시간. 현실 세계와 동일하게 흘러가지만, 스케일을 조절할 수 있다. 물리 : 배치된 물체에 작용하는 물리적인 환경. 예를 들면 중력이 있다. 이를 위해서는 물체에게 Colli..
2021.06.29 -
정렬 C++
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 12..
2021.06.01