일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 패스트캠퍼스후기
- AES
- ui
- 오공완
- RSA
- 환급챌린지
- 프레임워크
- TextMeshPro
- 직장인자기계발
- unity
- 암호화
- 가이드
- 2D Camera
- 샘플
- 커스텀 패키지
- Tween
- job
- DotsTween
- Custom Package
- Framework
- 패스트캠퍼스
- 최적화
- base64
- Dots
- adfit
- 직장인공부
- C#
- Job 시스템
- sha
- Unity Editor
- Today
- Total
목록전체 보기 (200)
EveryDay.DevUp

코딩 규칙은 혼자 개발할 때는 중요하지 않지만, 다른 사람들과 협업을 할 때 매우 중요한 요소. - 일관성 있는 코드 규칙을 통해, 확인하는 사람으로써 빠른 이해가 가능할 수 있게 함 - 코드의 유지 보수가 용이 해짐 ▶ Visual Studio를 사용하는 경우 도구 -> 설정 가져오기 및 내보내기 를 통해 자신의 설정을 내보내거나, 다른 사람의 설정을 가져올 수 있음 : 이를 통해 팀원 간의 환경을 맞출 수 있음 ● 코드 표기법 ▶ 카멜 표기법 : 첫 단어의 첫 글자는 소문자로, 이후 단어의 첫 글자는 대문자를 사용 ex ) testCamel ▶ 파스칼 표기법 : 모든 단어의 첫 글자는 대문자를 사용 ex) TestPascal\ ▶ 헝가리안 표기법 : 변수 및 함수 앞에 데이터 타입을 표기 ex) iV..

Unity에서 가이드하는 GC 최적화 1. GC 호출 시기를 짧은 주기로 반복적으로 실행 ▶ GC가 필요 이상 호출되지만, 짧은 주기로 실행되기 때문에 그 사이에 쌓인 메모리가 적어 빠르게 GC가 수행됨 2. 초기 큰 힙 메모리를 설정 ▶ Mono는 런타임에 힙을 확장하는 것을 최대한 회피하려고 하기 때문에, 수동으로 큰 배열을 만들어 강제로 힙 메모리를 키움 ▶ 초기 메모리가 크게 할당 되기 때문에 메모리 부족으로 인한 GC 호출을 최소화 할 수 있음 3. 재사용 가능한 오브젝트 풀 생성 ▶ 반복적으로 생성/삭제 되는 게임 오브젝트를 Pool로 관리함으로써 최소한의 오브젝트 생성으로 메모리를 관리 4. 점진적 가비지 콜렉션 사용 ▶ Unity에서 현재 프리뷰로 제공하는 기능으로써, GC의 수행을 분할하..

유니티를 사용하다보면, 익스펙터 창에 추가로 보여주고 싶은 UI가 생길 수 있게 됨 예시 ) Camera2D 스크립트에서 Unity 실행 중에는 변화된 카메라의 사이즈를 보여주고 싶은 경우 실행 전에는 보이지 않던 Cam Size가 실행 후에 보이는 것을 확인 할 수 있음 using UnityEditor; using UnityEngine; [CustomEditor( typeof( Camera2D ) )] public class Camera2DEditor : Editor { Camera2D _cam2D; Vector2 _camSize = Vector2.zero; private void OnEnable() { _cam2D = (Camera2D)target; } public override void OnIns..

단말기에 따른 Camera 설정의 이론은 다음의 게시물을 통해 확인 가능 https://everyday-devup.tistory.com/7 [Unity] 해상도에 따른 2D Camera 설정 2D 카메라의 Size는 게임의 특징에 따라 가로로 고정 할지 세로로 고정을 할지 결정하게 된다. ( 단말기에 따라 보여지는 최소한의 영역을 보장함으로써 최대한 동등한 플레이를 할 수 있도록 하기 위함 ) ▶ 세.. everyday-devup.tistory.com ● 단말기의 해상도 체크 ▶ Unity Editor에서의 Game View 사이즈의 실시간 크기 조정이나, 해상도가 각기 다른 액정을 2개 가지고 있는 단말기 등 다양한 이유로 해상도가 실시간으로 변경되는 경우가 발생 ▶ ScreenManager는 Upda..

옵저버 패턴 : 변화가 있는 대상과 대상을 관찰하는 관찰자로 이루어지는 구조 ● 옵저버 패턴의 구현 ▶ 사용 예시 : Screen의 크기가 실시간으로 변화 되는지 감지하다가, Screen의 변화가 생기면 하위의 UI 크기를 변경할 때 사용 ▶ 범용적으로 사용하기 위해 인터페이스로 구현 IObserver : 대상을 관찰하는 관찰자로 대상의 변화 시점에 OnNotify를 통해 감지 public enum OBSERVER_STATE { PROGRSS, // 현재 관찰 중인 상태 REMOVE, // 관찰이 끝났기 때문에 삭제 요청을 한 상태 } public interface IObserver { int Priority { get; set; } // 처리 우선순위 OBSERVER_STATE State { get; ..

프레임워크의 기본 구조로 Game 이라는 스크립트를 통해 전체 게임 코드를 관리하고자 한다. ▶ Game은 싱글톤으로 구현하여 항상 모든 Scene에 존재할 수 있도록 한다. ( 싱글톤 참조 ) https://everyday-devup.tistory.com/12 [Unity] Singletone Unity Singletone은 Unity Scene Load와 Destory에 상관없이 별도의 삭제 코드가 없다면 앱의 종료시 까지 남아있는 GameObject로, 전역적인 접근과 하나의 인스턴스만 생성되는 개념 Unity Singletone을 직접 구.. everyday-devup.tistory.com ▶ Game은 Manager 클래스들을 가지고 있도록 하고 실제 로직들의 관리는 Manager 클래스에서 할..

▶ 프레임 워크는 게임 개발과 관련하여 다음 프로젝트에서도 동일하게 사용할 수 있는 것들의 모음이라고 할 수 있다. ▶ 처음 게임을 개발할 때, 무에서 유를 만들어내는 과정을 통해 게임의 기반이 되는 라이브러리와 클래스, 함수 들을 만들게 된다. ( 여기에는 기존에 어셋 스토어에 있는 툴이나, 코드, 리소스 들도 포함이 될 수 있다. 대표적으로 UI를 대응할 때 많이 사용되는 NGUI가 있다. ) ▶ 개인 프로젝트 진행을 통해, 필요한 공통 기능을 파악하고 라이브러리화 하여 나만의 프레임워크를 만드는 것을 목표로 한다. ▶ GitHub를 통해 작성한 코드의 유지보수를 관리하고자 한다. : 프레임 워크 완성 시 코드 공유 예정

Unity의 가비지 컬렉터에 대해 설명하고자 한다. C# 은 기본적으로 메모리를 자동으로 관리 해줌* C# 메모리 : https://everyday-devup.tistory.com/10[Unity] C#에서의 메모리* Heap ▶ 위치가 정해져 있지 않고 용량이 큰 대신 느림 ▶ 참조 타입 ( ex class, string, object ) ▶ 변수 선언 시 데이터가 저장되어있는 메모리를 가리키게 됨 * Stack ▶ 정렬되어 있고 빠르지만 사용에..everyday-devup.tistory.com● Stack의 메모리 관리 ▶ Stack은 Last In First Out 구조로 순서대로 값 타입의 변수가 설정되고, 사용이 종료되는 시점에 메모리가 반환 됨 ▶ 사용이 종료되는 시점에 메모리가 반환 되기 때..

Unity Scene에 있는 GameObject들의 스크립트에서 Awake, OnEnable과 같은 함수 들이 호출되는 부분은 로딩되는 순서대로 진행▶ 로딩되는 순서대로 진행되기 때문에, 명확하게 어느 스크립트가 먼저 호출되거나 할 수 있는 부분을 알 수 없을 경우가 많음유니티 Proejct Settings에서 Script Execution Order를 설정하면 스크립트의 순서를 명확하게 할 수 있음 원하는 스크립트를 추가한 뒤 순서를 설정하면 해당 순서로 스크립트가 실행되는 것을 알 수 있음

Unity Singletone은 Unity Scene Load와 Destory에 상관없이 별도의 삭제 코드가 없다면 앱의 종료시 까지 남아있는 GameObject로, 전역적인 접근과 하나의 인스턴스만 생성되는 개념 Unity Singletone을 직접 구현할 수도 있지만, 템플릿으로 구현된 다음의 코드를 복사해서 사용할 수 도 있음 http://wiki.unity3d.com/index.php/Singleton Singleton - Unify Community Wiki Alternatives Scriptable Objects One excellent alternative to the singleton pattern in Unity is the use of ScriptableObjects as a type ..