본문 바로가기

유니티/팁, 정보 노트18

[Unity] 씬 로딩과 메모리 관리 유니티에서는 씬이 전환될 때 내부적으로 Resources.UnloadUnusedAssets() 함수를 호출한다. 하지만 씬이 전환될 때 메모리가 터져 앱이 꺼지는 경우가 있는데 씬이 전환되는 과정을 자세히 보면 위 사진과 같은데 B씬을 로드하면 바로 A씬을 제거하는게 아니라 B씬을 먼저 로드한다. 이 과정에서 메모리가 터진다고 한다. 로딩씬과 같은 별도의 씬을 넣는 것이 메모리 관리에서는 더 효율적이라고 한다. 참고 영상. https://youtu.be/Z9LrkQUDzJw?t=1540 2021. 12. 5.
[Unity] 콜라이더가 달린 물체를 움직일 때 주의할점 그냥 콜라이더만 달려있는 물체를 움직이면(transform 움직일 때) static collider를 움직이는 것을 의미한다. rigidbody를 추가해주고 kinematic을 체크하여 사용하자. 2021. 12. 5.
[Unity]LayerMask 사용 예시 LayerMask.NameToLayer //레이어 번호만 가져옴! int layerMask = 1 2021. 12. 5.
[C#]delegate와 event 정리 delegate는 메소드에 대한 참조로 하나의 타입 event는 delegate에 event 키워드를 선언해서 사용 둘의 차이점은 "event는 외부에서 직접 호출이 불가능하다"는 것이다. 이벤트 기반 프로그래밍을 할 때 보다 안정적으로 사용할 수 있다. 따라서 Delegate는 콜백용도로 사용하고, event는 객체 상태변화나 사건의 발생을 용도로 주로 사용한다. //이벤트 선언 public event Action OnSomethingValueChanged; //외부에서 이벤트 등록 OnSomethingValueChanged += method; //외부에서 직접 호출 불가 EventClass.OnSomethingValueChanged?.Invoke(); //Error!!​ 2021. 12. 5.