LayerMask
레이어를 효율적으로 생성/관리 하기 위해 레이어마스크를 활용한다.
최대 32개의 레이어를 활용할 수 있고, 정수형 변수의 각 비트(32비트)를 할당하여 처리한다.
1개의 변수를 여러 개의 bool값처럼 처리하는 방법 (cf. 비트 마스크 : 각 비트를 bool로 보는 관점)
LayerMask 메서드
LayerMask.GetMask : LayerName을 넣어서 비트마스크 생성
LayerMask.value : 비트마스크값을 도출 (이진수를 십진수로 변환)
LayerMask.NameToLayer(string layerName) : 레이어 이름을 통해 레이어 인덱스를 도출
LayerMask.Contains(int layerIndex) : LayerMask가 특정 레이어 인덱스를 포함하고 있는지 확인
Main Camera의 Z값이 주로 -10인 이유
문제 상황) Scene에 오브젝트를 깔았는데 Game view에 나타나지 않는 현상
원인 ) Camera의 z축 (object가 위치한 곳으로부터 앞뒤(깊이)로 움직이는 축) 이 0으로 설정되어 있기 때문.
Camera의 작동 원리를 보면, 아래와 같이 scene 위에서 내려다보고 있는 구조임을 알 수 있다.
따라서 camera가 scene보다 밑에 존재하거나, 너무 멀리서 찍는 경우 오브젝트가 보이지 않는다.
그래서 Main Camera의 z값을 -10으로 조정하면 오브젝트 위치보다 더 높은 곳에 위치하기 때문에
Game view에서 오브젝트를 볼 수 있게 된다.
그렇다면 camera가 오브젝트를 담을 수 있는 범위는 어디인가?
Inspector 창의 Camera에서 Clipping Planes 영역이 카메라가 피사체를 담을 수 있는 영역이다.
이 부분은 Scene 생성 시 값이 설정되어 있다. 특히 2D에서는 신경 쓰지 않아도 되는 부분이다.
'게임 개발 일지 > 내일배움캠프 TIL' 카테고리의 다른 글
[Unity] Player 행동 구현 방식 (FSM, 블렌드 트리) (0) | 2024.01.18 |
---|---|
[Unity] Button의 transition (0) | 2024.01.17 |
[CS] float 와 int / ref 와 out / 접근제한자 (0) | 2024.01.15 |
성공적인 8주 프로젝트를 위하여 (1) | 2024.01.12 |
[CS] 게임 개발에서의 자료 구조 활용 (0) | 2024.01.11 |
댓글