카메라 프로젝션 매트릭스 가져오기
camera_get_proj_mat
함수는 카메라의 프로젝션 매트릭스를 가져오는 데 사용됩니다. 이 함수는 매트릭스 배열을 반환하며, 이 배열은 다른 매트릭스 함수에서 사용되거나 다른 카메라의 프로젝션 매트릭스를 설정하는 데 사용할 수 있습니다 (이때는 camera_set_proj_mat()
함수를 사용합니다).
문법
camera_get_proj_mat(camera_id)
인수
인수 이름 | 유형 | 설명 |
---|---|---|
camera_id | 고유 ID 값 | 카메라를 생성할 때 반환된 고유 카메라 ID 값 |
반환 값
- 매트릭스 배열
예제
mat = camera_get_proj_mat(camera_view[0]);
위의 코드는 뷰 포트[0]에 할당된 카메라의 프로젝션 매트릭스를 가져옵니다.
활용 예제
예제 1: 카메라 프로젝션 매트릭스 사용하기
var proj_mat = camera_get_proj_mat(camera_view[1]);
var new_proj_mat = matrix_build_projection_perspective(45, display_get_width() / display_get_height(), 0.1, 100);
camera_set_proj_mat(camera_view[1], new_proj_mat);
이 코드는 두 번째 카메라의 프로젝션 매트릭스를 가져온 후, 새로운 원근 프로젝션 매트릭스를 생성하여 해당 카메라에 설정합니다.
예제 2: 여러 카메라의 프로젝션 매트릭스 비교하기
var proj_mat1 = camera_get_proj_mat(camera_view[0]);
var proj_mat2 = camera_get_proj_mat(camera_view[1]);
if (matrix_compare(proj_mat1, proj_mat2)) {
show_message("두 카메라의 프로젝션 매트릭스가 같습니다.");
} else {
show_message("두 카메라의 프로젝션 매트릭스가 다릅니다.");
}
이 코드는 두 카메라의 프로젝션 매트릭스를 비교하여 동일한지 여부를 확인합니다.
예제 3: 카메라 전환 시 프로젝션 매트릭스 적용하기
if (keyboard_check_pressed(vk_space)) {
current_camera = (current_camera == camera_view[0]) ? camera_view[1] : camera_view[0];
var proj_mat = camera_get_proj_mat(current_camera);
camera_set_proj_mat(current_camera, proj_mat);
}
이 코드는 스페이스 키를 눌렀을 때 현재 카메라를 전환하고, 해당 카메라의 프로젝션 매트릭스를 설정합니다.