게임엔진/Unity

    [Unity] Coroutine 과 UniTask 비교 예제

    UniTask 는 async 와 await 를 유니티에서 더 사용하기 편리하도록 만든 통합 패키지다. UniTask 는 Coroutine 에 비해 메모리 사용량, 성능, try-catch 사용 가능 및 return 을 사용할 수 있어서 Coroutine 대신 UniTask 를 이용하도록 권장하고 있는 상황이다. 설치 UniTask 는 기본으로 지원되는 기능이 아니기 때문에 Package Manager 를 이용해 설치해줘야 한다. Package Manager 를 실행하고 위와 같이 [Add package from git URL...] 을 선택하고 나타나는 주소입력 창에 아래의 주소를 입력하고 [Add] 버튼을 클릭한다. https://github.com/Cysharp/UniTask.git?path=src/..

    [Unity] Mathf

    #6 Unity Mathf (tistory.com)

    [Unity] Vector2

    #5 Unity Vector2 (tistory.com)

    [Unity] Tranform 컴포넌트

    #5 Transform 컴포넌트 (tistory.com)

    [Unity] 카메라 컴포넌트 설정

    #4 Unity 카메라 컴포넌트 설정 (tistory.com)

    [Unity] 스프라이트 렌더러 속성 (Sprite Renderer)

    #3 Unity 스프라이트 렌더러 속성 (Sprite Renderer) (tistory.com)

    [Unity] 스프라이트 임포터 속성

    #2 Unity 스프라이트 임포터 속성 (tistory.com)

    [Unity] 폴더 관리

    유니티 폴더 관리 규칙 Plugins, Editor, Resources 는 유니티에서 정해논 기능이 있으므로 다른 용도로 사용할수 없으며, Assets/Scripts/Editor 와 같은 경우로도 사용해서는 안된다. 또한 자동으로 생성된 Editor,Plugins 폴더를 삭제 해서는 안된다. #1 Unity 폴더 관리 (tistory.com)

    [Unity] Cinemachine Confiner change - 시네머신 confiner 변경

    유니티 내에서 제공하는 시네머신의 속성중 Confiner에서 Bounding Shape 2D를 스크립트에서 제어하는 방법이다. 이를 이용하면 시네머신 1개의 영역을 런타임중 동적으로 할당할 수 있다. using System.Collections; using System.Collections.Generic; using UnityEngine; using Cinemachine; public class ConfinerChange : MonoBehaviour { public static ConfinerChange confinerChangeInstance; public static CinemachineConfiner confiner; void Awake() { confinerChangeInstance = this;..

    [Unity] 최적화 Batching, Draw Call, SetPass calls

    Batching(배칭) 동일한 메테리얼을 공유하는 복수의 드로우콜을 하나로 묶어서 드로우콜하는 기법 Batching = Draw Call + SetPass calls Draw Call(드로우콜) CPU가 GPU에게 화면에 오브젝트를 그려달라고 요청하는 것 한프레임에서 오브젝트를 하나 그릴때 여러 정보들이 CPU에서 GPU로 전달 DATA > Storage(HDD,SDD,SD) > CPU Memory > GPU Memory 매 프레임 화면에 그려야 하기 때문에 값이 클수록 프레임에 부하가 걸린다. 적정개수 PC : 1000개 이상 가능 ~ 3000개 모바일 : 100개도 많다. 최신 디바이스는 200개까지가능 일반적으로 오브젝트 단위로 1개씩 증가, 쉐이더에 따라서 추가적으로 증가 SetPass calls..