Unity61 [Unity] 최종 프로젝트 [HIGH FIVE] ⭐소개 "최강의 용사들만 등극할 수 있는 명예의 [HIGH FIVE] 나도 한 번 올라가보자!" 1년에 딱 한 번 열리는 우주 최강 용사 선발대회 [HIGH FIVE] 강한 자만이 가질 수 있는, 모두가 부러워하는 칭호! [HIGH FIVE] 우승까지 남은 건 단 한 걸음! 과연 명예의 [HIGH FIVE]에 오를 수 있을까요? 용사님 지금 바로 도전하세요! ⭐브로셔 ⭐시연 영상 ⭐플레이 링크 (Web) https://jchwoon.itch.io/highfive ⭐git https://github.com/oteosuk/HIGHFIVE ⭐Notion https://teamsparta.notion.site/HIGHFIVE-1b4f52d8f9974b8f89cc082dc72b6021 2024. 3. 8. [Unity] Layer와 Tag의 역할 레이어(Layer)는 오브젝트들의 그룹을 만들고 관리하는 데 사용된다. 레이어는 씬의 일부분만을 렌더링 하거나, 물리적 충돌을 판정하는 데 사용된다. 유니티는 0 ~ 7까지의 기본 레이어와 8 ~ 31개의 커스텀 레이어를 제공하며 그 이상의 레이어는 만들 수 없다. 1. 레이어(Layer) 1.1 선택적 렌더링 레이어는 선택적 렌더링에 사용된다. 카메라로부터 특정 레이어만을 렌더링하도록 한다. 카메라에는 레이어를 선택할 수 있는 Culling Mask가 있다. Default는 모든 레이어를 렌더링 한다. 게임오브젝트는 하나의 레이어 그룹에 속할 수 있다. 게임오브젝트를 생성하면, Defalut로 설정되어 있습니다. 게임오브젝트는 하위 요소로 다른 레이어 그룹에 속한 게임 오브젝트를 가질 수 있다. 하위 .. 2024. 3. 7. [Unity] 유니티에서 오브젝트 찾기 코드 작성 시 특정 오브젝트를 찾아서 명령을 전달하고 싶을 때가 있다. Unity의 GameObject는 항상 transform 컴포넌트를 가지고 있다. 따라서 게임 오브젝트를 찾는 가장 쉬운 방법은 transform 컴포넌트를 활용하는 것이다. 1. transform을 통해 부모나 자식 transform에 접근하기 (1) transform.Find("오브젝트의 이름"); 자식 transform 중 Find 함수의 입력부에 해당하는 문자열과 일치하는 오브젝트 이름을 가진 transform을 반환한다. 만약 없다면 null을 리턴한다. (2) transform.GetChild(index) transform의 자식 중 index 번호에 맞는 transform을 반환한다. GetChild(0)은 첫 번째 자식.. 2024. 3. 5. [Unity] Object Pooling 오브젝트 풀링 (Object Pooling) 최적화의 꽃, 오브젝트 풀링은 성능 향상을 위해 게임 오브젝트를 미리 생성하고 필요할 때마다 재활용하는 기술이다. 게임에서 동적으로 생성 및 삭제되는 오브젝트의 비용이 큰 경우에 특히 유용하다. 일반적으로 게임에서 오브젝트를 동적으로 생성하고 삭제하는 것은 리소스 소모가 크기 때문에 성능에 부정적인 영향을 미칠 수 있다. 오브젝트 풀링은 이런 비용을 최소화하기 위해 미리 여러 개의 오브젝트를 생성하고, 필요할 때마다 활성화 및 비활성화하여 재사용한다. 생성할 수 있는 오브젝트를 미리 생성해 놓고, 필요할 때만 꺼내어 쓰고 다시 필요없어지면 집어넣는 방식. 오브젝트 파괴 시 작동하는 가비지 콜렉터가 메모리를 좌지우지하는 주요 멤버인데, 이것이 과도하게 활성화되면.. 2024. 2. 29. [Unity] 스프라이트 아틀라스, GPU 인스턴싱 스프라이트 아틀라스 (Sprite Atlas) 스프라이트 아틀라스는 Unity 2D 에서 사용하는 최적화 기법이다. Unity 엔진에 내장되어 있으며, Project Settings_Editor_Sprite Packer 에서 체크할 수 있다. 2D 프로젝트는 스프라이트와 다른 그래픽스를 사용해 씬의 시각적 요소를 만든다. 그러므로 개발자(혹은 디자이너)는 단일 프로젝트에 다수의 텍스처 파일을 사용한다. 일반적으로 Unity는 씬의 각 텍스처에 대해 드로우콜을 발생시킨다. 따라서 많은 텍스처가 포함된 프로젝트의 경우 여러 개의 드로우 콜이 발생하면서 리소스를 많이 소비하므로 프로젝트의 성능을 저하시킬 수 있다. 스프라이트 아틀라스(Sprite Atlas)는 여러 개의 텍스처를 단일 텍스처로 결합하는 에셋이.. 2024. 2. 28. [Unity] 배치 (Batch) 배치(Batch)와 배칭 (Batching) 1) 배치(Batch) : SetPass Call 과 DP Call 을 합친 개념이다. * 드로우콜과의 차이점 : 드로우콜은 (렌더 상태 변경 명령 + DP Call)을 포함한 개념으로, 배치가 드로우콜보다 좁은 의미이다. 2) 배칭(Batching)이란 여러 개의 Batch를 하나로 묶는 최적화 기법이다. (드로우콜을 묶어서 처리하기 위함) 기본적으로 드로우 콜을 발생시킬 수 있는 이미지, 텍스쳐, 메테리얼, 쉐이더를 하나로 묶어서 처리한다. 배치의 특징 배치는 SetPass Call + DP Call 개념이다. Render State Changes(렌더 상태 변경)가 아니라 SetPass를 포함하므로, 드로우콜보다 좁은 의미를 가진다. Batch가 적다고 .. 2024. 2. 27. 이전 1 2 3 4 ··· 11 다음