Rect 프로퍼티는?
카메라 뷰포트(Viewport)의 영역을 정의하는데 사용되며, 뷰포트는 카메라가 보는 화면 영역을 의미한다.
rect 속성은 Normalized Device Coordinates(NDC)를 사용하여 뷰포트 영역을 정의하는데,
이는 화면을 0과 1 사이의 값을 가지는 좌표로 나타내는 방식이다.
Rect 구조체로 정의되며, 뷰포트의 왼쪽 하단 모서리를 기준으로 상대적인 위치와 크기를 지정한다.
구조체 살펴보기
사용할 때는
new Rect
(normalized X screen position, normalized Y screen position,
nomalized screen width, normalized screen height);
- x: 뷰포트의 왼쪽 하단 모서리의 x 좌표를 나타낸다. 0과 1 사이의 값을 가지며, 0은 왼쪽 끝, 1은 오른쪽 끝을 의미한다.
- y: 뷰포트의 왼쪽 하단 모서리의 y 좌표를 나타낸다. 0과 1 사이의 값을 가지며, 0은 아래쪽 끝, 1은 위쪽 끝을 의미한다.
- width: 뷰포트의 가로 길이를 나타낸다. 0과 1 사이의 값을 가지며, 1은 뷰포트의 가로 길이가 화면 전체를 차지함을 의미한다.
- height: 뷰포트의 세로 길이를 나타낸다. 0과 1 사이의 값을 가지며, 1은 뷰포트의 세로 길이가 화면 전체를 차지함을 의미한다.
활용되는 곳은?
rect 속성을 사용하여 분할 화면(Multi-view)을 구성하거나, 특정 부분만 화면에 출력하는 기능을 구현할 수 있다.
특정 시점에서 카메라의 뷰를 전환하여 게임 플레이를 다양하게 제공할 수 있다.
예제 코드
와이프가 같이 해주지 않아 못했던 It takes two 를 영상으로 보기만 했는데 해당 게임처럼 두 화면으로 분할하려면 간단하게 아래처럼 생각해볼 수 있겠다.
Camera player1Camera; // 플레이어 1의 카메라
void Start()
{
// 카메라 뷰를 절반으로 분할하여 플레이어 1에게 할당
player1Camera.rect = new Rect(0f, 0f, 0.5f, 1f);
}
Camera player2Camera; // 플레이어 2의 카메라
void Start()
{
// 카메라 뷰를 절반으로 분할하여 플레이어 2에게 할당
player2Camera.rect = new Rect(0.5f, 0f, 0.5f, 1f);
}
'유니티 개발 기술 > 그래픽 & 비주얼' 카테고리의 다른 글
Material 클래스의 다양한 속성 (0) | 2023.07.23 |
---|---|
Material 클래스의 다양한 함수 (0) | 2023.07.23 |
FOV, 컬링마스크(카메라 관련) (0) | 2023.07.21 |
1인칭 시점에서 3인칭 시점으로 전환 구현 (0) | 2023.07.20 |
Controlling Unity Camera Bahavior (1) | 2023.06.06 |