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

컴퓨터에서의 모든 처리는 전기 신호의 On/Off를 통해 작동. On을 1로, Off를 0 으로 사용하여 1, 0의 나열된 정보가 하나의 데이터가 됨 1 bit : 1,0을 가질 수 있는 최소 데이터의 단위 1 Byte : 1,0을 표현할 수 있는 1bit를 8개 묶은 것으로, 1 byte은 8bit가 됨. 2의 8승 개의 데이터를 가질 수 있으며 0 - 255까지 표현이 가능 1 KB : 1000 Byte 1 MB : 1000 kb 1 GB : 1000 mb 1 TB : 1000 GB 참고 자료 : https://ko.wikipedia.org/wiki/%EB%B0%94%EC%9D%B4%ED%8A%B8 바이트 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 ..

Character Encoding 은 사람이 사용하는 글자를 컴퓨터에서 사용할 수 있도록 변환하는 것 ▶ 기계는 0, 1로만 데이터를 저장하기 때문에 "안녕하세요" 같은 단어를 컴퓨터에 저장한다고 하면 특정한 규칙에 따라 0, 1로 변환되는 과정이 필요. ● 문자 인코딩의 종류 ▶ ASCII ( 아스키 ) : 미국 ANSI에서 표준화한 정보교환용 7비트 부호체계 : 1바이트로 문자를 표현하는데, 그 중 1bit는 통신 오류 검출용, 7bit가 문자를 표시 : 2의 7승인 127개의 문자 표시가 가능. ( 52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수문자, 그리고 하나의 공백 사용 가능 ) 참고 자료 : https://namu.wiki/w/%EC%95%84%EC%8A%A4%ED%82%A4..

코딩 규칙은 혼자 개발할 때는 중요하지 않지만, 다른 사람들과 협업을 할 때 매우 중요한 요소. - 일관성 있는 코드 규칙을 통해, 확인하는 사람으로써 빠른 이해가 가능할 수 있게 함 - 코드의 유지 보수가 용이 해짐 ▶ 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 구조로 순서대로 값 타입의 변수가 설정되고, 사용이 종료되는 시점에 메모리가 반환 됨 ▶ 사용이 종료되는 시점에 메모리가 반환 되기 때..