Study/Unity(12)
-
ChatGpt Q/A
Q : 유니티 에셋번들이 뭐야 ?A:유니티 에셋 번들(Unity Asset Bundle)은 유니티(Unity) 게임 엔진에서 사용하는 파일 형식으로, 게임이나 애플리케이션에서 사용할 수 있는 다양한 리소스(모델, 텍스처, 오디오, 애니메이션 등)를 묶어서 압축하고 최적화하여 저장한 파일입니다. 에셋 번들은 주로 게임의 콘텐츠를 외부에서 로드할 수 있도록 해주는 방식으로 사용됩니다.유니티 에셋 번들의 주요 특징:리소스 효율적 관리: 에셋 번들은 게임의 리소스를 외부 파일로 분리하여 관리할 수 있게 해줍니다. 이렇게 하면 게임이 시작될 때 모든 리소스를 한 번에 로딩하는 대신, 필요한 리소스만 그때그때 로드하여 메모리 사용을 최적화할 수 있습니다.실시간 업데이트: 게임 내에서 새로운 콘텐츠를 추가하거나 업데..
2025.01.04 -
UGUI - Canvas
캔버스는 Canvas 컴포넌트가 있는 게임 오브젝트이며 모든 UI 요소는 반드시 어떤 캔버스의 자식이어야 합니다. 캔버스는 메시징 시스템을 돕기 위해 EventSystem 오브젝트를 사용합니다. 캔버스에 있는 UI 요소는 계층 구조에 나타나는 것과 동일 순서로 그려집니다. Render Mode Screen Space - Overlay 캔버스에 있는 UI요소가 씬 위에 그려진다. 카메라를 사용하지 않기 때문에, 카메라 depth에 영향을 받지 않는다. Overlay 모드의 캔버스들은 캔버스의 Order 값에 따라서 그려지는 순서가 결정된다. Screen Space - Camera Overlay와 유사하지만 카메라를 사용하며, 때문에 카메라 모든 속성에 영향을 받는다. 때문에 캔버스의 Order 값 뿐 아니..
2022.10.10 -
Unity - Physics 2022.08.21
-
Sprite Atlas - 스프라이트 아틀라스
이전에... 2D 프로젝트는 스프라이트와 다른 그래픽스를 사용하여 씬의 시각적 요소를 만듭니다. 따라서 단일 프로젝트에 다수의 텍스처 파일이 들어 있을 수 있습니다. 일반적으로 Unity는 씬의 각 텍스처에 대해 드로우 콜을 발행합니다. 하지만 많은 텍스처가 포함된 프로젝트의 경우 여러 개의 드로우 콜이 존재하면 리소스를 많이 소비하여 프로젝트의 성능을 저하시킬 수 있습니다. Sprtie Atlas 정의 여러 개의 텍스처를 단일 텍스처로 결합하는 에셋입니다. Unity는 여러 개의 드로우 콜을 발행하는 대신 이러한 단일 텍스처를 호출함으로써 하나의 드로우 콜을 발행할 수 있습니다. 그러면 큰 성능 소모 없이도 패킹된 텍스처에 동시에 액세스할 수 있습니다. 또한 스프라이트 아틀라스 API는 프로젝트의 런타..
2021.11.16 -
Garbage Collection (GC)
메모리 관리 기법 중 하나로 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능이다. 즉, 동적 할당된 메모리 영역 가운데 어떤 변수도 가리키지 않는 메모리 영역을 탐지하여 자동으로 해제하는 기법이다. 기본적으로 C#은 메모리를 자동적으로 관리 해준다. C# 메모리 구조 : https://everyday-devup.tistory.com/10?category=934756 [Unity] C#에서의 메모리 * Heap ▶ 위치가 정해져 있지 않고 용량이 큰 대신 느림 ▶ 참조 타입 ( ex class, string, object ) ▶ 변수 선언 시 데이터가 저장되어있는 메모리를 가리키게 됨 * Stack ▶ 정렬되어 있고 빠르지만 사 everyday-devup.tistory.c..
2021.06.01 -
(C#) Coroutine
Coroutine : 일반적인 함수는 하나의 프레임에서 모두 실행되고 종료됩니다. 그렇기 때문에 FadeOut같은 여러 프레임에 걸쳐서 실행되어야하는 기능에는 어려움이 있다. Update를 사용하면 되지만 프레임 단위이므로 원하는 시간에 정확히 실행시키기 쉽지 않고, 매 프레임마다 실행되는 것을 원하지않는다면 비효율적일 것이다. Coroutine은 Unity에게서 제어권을 넘겨받아 실행하던 도중에, 함수의 끝에 도달하지 않았더라도 실행을 멈추고 제어권을 넘겨줄 수 있다(yield return ). 게임을 개발하다보면 일정간격마다 또는 어떤 시점에 원하는 동작을 발생시키고 싶을 때가 있습니다. 예를 들어 1초마다 총알을 발사합니다. 또는 x축으로 원하는 만큼 움직이고 끝이 나면, y축으로 움직이고 끝이 나..
2021.05.31