
이번에 개발하다가 사운드 클립 리소스를 필요할 때 메모리에 올리고 사용이 끝나면 모든 레퍼런스를 제거하는 로직의 스크립트를 작성했다. (유지보수를 위한 커스텀 GUI는 덤) 하지만 해당 리소스의 모든 레퍼런스를 제거했어도 실제로 메모리에서 해당 사운드 클립 리소스가 내려오지는 않았다. 아마 메모리가 부족해진다면 가장 먼저 가비지컬렉터에 의해 정리되긴 하겠지만 이렇게 레퍼런스가 없더라도 정리되지 않는 이유라면 굳이 매번 레퍼런스가 0인 데이터를 제거하는 것도 시간이 걸리는 작업이고 아마 캐싱 같은 개념으로 사용할 수 있을 것 같다. 리소스의 메모리 사용 과정A라는 사운드 클립을 사용하려 한다.저장소에서 메모리로 A 사운드 클립 데이터가 올라온다.올라온 데이터를 신나게 쓴다.다쓰고 해당 데이터와 연관된 모든..
SOLID Principle SOLID 원칙이란, 객체지향 프로그래밍에서 소프트웨어 디자인을 위한 5가지 지켜야 하는 원칙이다. 이 원칙을 통해 소프트웨어의 유연성, 확장성, 유지보수성을 향상한다. 1. 단일 책임 원칙 (Single Responsibility Principle : SRP) 하나의 클래스는 하나의 책임만 가진다. 단일 책임 원칙은 하나의 클래스는 하나의 기능만을 책임지는 것이다. 클래스 하나가 다수의 기능을 구현하는 것은 단일 책임 원칙에 위배된다. 이는 캐릭터에 움직임, 사운드, 애니메이션 등을 하나의 클래스가 모두 통재하는 현상이다. 그렇다면 단일 책임 원칙을 준수하면 어떤 이점이 있을까? 단일 책임 원칙의 이점 이점 설명 가독성 증가 단일 기능 단위로 분리된 코드는 가독성이 늘어난다..

커스텀 에디터 커스텀 에디터 스크립트를 공부하며 다양한 GUI 기능을 기록하려한다. 우선 EditorGUI는 기본 자료형들을 포함한 이미지, 열거형, 레이아웃, 태그, 색상, 그라데이션, 텍스트, 텍스트 공간, 빈공간, 슬라이더 등 다양한 GUI를 제공해준다. 사용자는 이를 필요에 따라 병렬처리, 분살 등 디자인을 변경하며 사용할 수 있다. 상속 커스텀 에디터를 사용하기 위해서는 UnityEditor.Editor를 상속받은 스크립트를 생성해야한다. 커스텀 에디터는 이 디폴트 레이아웃을 사용자가 선택하는 에디터 컨트롤로 대체하는 별도의 스크립트이다. 커스텀 에디터는 위 언급과 같이 다른 레이아웃을 대처하기에 대처할 대상 스크립트를 설정해주어야한다. 디폴트 스크립트 레이아웃 예제 using UnityEngi..

편의성, 가독성, 신속한 처리, 실수를 최소화하기 위한 방법으로 오브젝트를 구성하는 값들을 시각적으로 표현하는 것은 대부분 모든 프로그램이 어느정도는 갖추고 있는 구성요소이다. 유니티의 인스펙터 레이아웃은 사용자가 게임 오브젝트 및 스크립터블 오브젝트의 속성을 효과적으로 관리하고 수정할 수 있도록 도와주는 도구이며 게임 개발자가 직렬화된 속성을 정의하고 Unity가 이를 렌더링하고 사용자 상호 작용을 처리하는 과정을 포함한다. 또한 유니티 인스펙터는 개발자가 직접 구현하는 GUI 레이아웃을 변경할 수 있는 커스텀 에디팅 기능도 제공한다. 오늘은 유니티를 구성하는 인스펙터 레이아웃 생성 과정을 알아보려한다. 스크립트 컴파일링 Unity의 게임 오브젝트는 스크립트를 사용하여 동작하고 속성을 갖는다. 유니티의..
- Total
- Today
- Yesterday
- 알고리즘
- 포인터
- 컴파일
- const
- 레지스터
- c++
- 백준
- 상속
- 할당
- 클래스
- 함수
- dynamic_cast
- thread
- New
- malloc
- CPU
- 수학
- 멀티스레드
- 인터럽트
- 명령어
- 프로세스
- 운영체제
- 게임수학
- 초기화
- static_cast
- 메모리
- 크기
- 구조
- 입출력
- 스레드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |