일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- equals
- Addressable System
- Unity
- addressable
- UniRx
- Unboxing
- 플러그인
- ScriptableObject
- ReferenceEquals
- Zenject
- c#
- Abstract Factory Pattern
- 디자인 패턴
- 최적화
- ==
- Android Plugin
- 스프라이트 아틀라스
- 게임 개발
- Post Processing
- Boxing
- design pattern
- 포스트 프로세싱
- Strategy Pattern
- 1인 개발
- sprite atlas
- 인앱 결제
- Reflection
- Today
- Total
목록분류 전체보기 (40)
One_KWS
에셋 파이프라인은 애플리케이션의 성능에 큰 영향을 미칠 수 있다. 에셋의 설정에 따라 빌드 크기 및 시간을 증가시키고 메모리 사용량에 영향을 미칠 수 있다. Texture Max Size 해당 Texture가 가질 수 있는 최대 크기이다. Max Size 값이 작으면 Texture의 품질이 낮아지지만, 메모리 사용량이 줄어들고 더 빠르게 로드된다. 반면, Max Size 값이 크면 Texture의 품질은 높아지지만, 더 많은 메모리를 사용하게 되고 로드 시간이 늘어난다. 모바일에서는 보통 Texture의 Max Size를 2048 또는 1024로 설정한다. Power Of Two (POT) Texture Compression이 ETC 또는 PVRCT일 경우 POT 텍스처를 사용해야 압축이 된다. POT ..
소개 스트래티지 패턴(Strategy Pattern)은 행위를 클래스로 캡슐화하여 동적으로 행위를 자유롭게 바꿀 수 있게 해주는 패턴이다. 같은 문제를 해결하는 여러 알고리즘이 클래스별로 캡슐화되어 있고 이들이 필요할 때 교체할 수 있도록 함으로써 동일한 문제를 다른 알고리즘으로 해결할 수 있다. 스트래티지 패턴을 이용하면 수정이 필요한 부분을 최소화할 수 있다. 스트래티지 패턴은 아래와 상황에서 사용할 수 있다. 비슷한 작업을 하는 알고리즘이 여러 개 존재할 경우 알고리즘을 사용하는 클라이언트 코드와 알고리즘의 구현 코드를 분리하고 싶을 경우 알고리즘을 쉽게 교체하거나 확장하고 싶을 경우 Strategy Strategy 인터페이스에서는 알고리즘을 정의하는 메서드를 포함한다. public interfac..
소개 커맨드 패턴을 이용하면 요구 사항을 객체로 캡슐화 할 수 있으며, 요청을 한 객체와 이 요청을 처리할 객체를 분리한다. 이를 통해, 요청을 수행하는 객체가 다양한 요청을 처리할 수 있으며, 실행 취소, 다시 실행과 같은 기능을 제공할 수 있다. Invoker Invoker는 명령 객체를 생성하고 실행될 메서드를 호출한다. 이 때, Command 인터페이스를 통해 ConcreteCommand 객체를 호출하기 때문에 실제 ConcreteCommand 객체의 타입을 알 필요가 없다. public class Invoker { private Command command; public void SetCommand(Command command) { this.command = command; } public vo..
생성된 몬스터를 다 잡으면 다음 구역으로 넘어갈 수 있다. 그래서 몬스터를 전부 잡으면 다음 층으로 넘어갈 수 있는 포탈을 활성화 시키고 플레이어를 다음 구역으로 이동시키는 기능을 구현했다. Portal 만들기 맵 한쪽에 다음 구역으로 갈 수 있는 문을 만들었다. 그냥 문만 놓으니 허전해서 문 양쪽에 횟불(?) 도 달아주었다. Portal 오브젝트를 만들고 Collider와 Rigidbody를 붙여서 플레이어가 문에 닿았을 경우에 처리할 수 있게 했고 문이 활성화 된 것처럼 보이도록 포탈 이펙트를 자식으로 추가했다. Portal 스크립트를 생성하여 Portal 오브젝트에 추가했다. OnTriggerEnter 함수에서 충돌한 오브젝트의 Tag가 Player일 경우에 OnPlayerEnter 델리게이트를 실..
Mono Mono는 Unity에서 기본적으로 사용되는 스크립팅 런타임이다. .NET Framework의 경우 마이크로소프트에서 개발한 소프트웨어 프레임워크로 윈도우 외의 플랫폼은 지원하지 않는다. 반면에 Mono는 오픈소스 프로젝트로, 리눅스, macOS, iOS, 안드로이드 등 다양한 운영체제에서 실행될 수 있다. Mono는 .NET Framework과 유사한 구조를 가지고 있으며, C# 스크립트를 IL 코드로 변환하고, JIT(Just-In-Time) 컴파일러를 사용하여 IL 코드를 실행한다. Mono는 다양한 플랫폼에서 실행할 수 있고 빌드가 빠르다는 장점이 있지만 코드 난독화 및 보호 솔루션이 없을 경우 DLL 파일을 통해 쉽게 디컴파일이 가능하여 보안에 취약하다는 단점이 있다. IL2CPP IL..
CLR (Common Language Runtime) CLR은 NET Framework에서 실행되는 어플리케이션의 실행 환경을 제공하고 다양한 언어로 작성된 코드를 관리하고 실행할 수 있도록 한다. .NET 언어로 작성된 코드를 실행하기 위해 IL(Intermediate Language)로 컴파일하고 JIT(just-in-time) 컴파일러를 사용하여 IL을 기계어로 변환한다. CLR에는 여러가지 기능들이 있다. 메모리 관리: 객체의 메모리 할당과 해제를 자동으로 처리하기 때문에 개발자가 수동으로 메모리 관리를 하지 않아도 된다. 코드 실행: .NET 언어로 작성된 코드를 IL로 컴파일하여 실행 가능한 형태로 만든다. IL은 JIT 컴파일러에 의해 실행 코드로 변환된다. 예외 처리: 코드에서 발생하는 예..