카메라 변환 복사 함수 설명
camera_copy_transforms
함수는 소스 카메라의 모든 변환 관련 설정을 대상 카메라로 복사하는 기능을 제공합니다. 이 함수는 주로 GameMaker에서 필터와 효과를 작업할 때 내부적으로 사용되지만, 한 카메라의 변환을 다른 카메라로 복사하는 편리한 방법으로 사용할 수 있습니다.
함수 설명
- 기능: 소스 카메라의 뷰 및 프로젝션 행렬, 뷰 위치, 크기, 속도, 경계 및 각도 값을 복사합니다.
- 제한 사항: 소스 카메라의 시작, 종료 및 업데이트 스크립트는 복사하지 않습니다.
문법
camera_copy_transforms(dest_camera, src_camera);
매개변수 설명
매개변수 | 타입 | 설명 |
---|---|---|
dest_camera | Camera ID | 소스 카메라의 변환을 복사할 카메라 (프로젝션 및 뷰 행렬) |
src_camera | Camera ID | 복사할 프로젝션 및 뷰 행렬을 포함하는 카메라 |
반환값
- N/A (반환값 없음)
예제 코드
cam1 = view_camera[0];
cam2 = camera_create();
camera_copy_transforms(cam2, cam1);
위 코드는 GameMaker가 내부적으로 생성한 뷰 0의 카메라를 cam1
이라는 인스턴스 변수에 할당합니다. 그런 다음 camera_create
함수를 사용하여 새로운 "빈" 카메라인 cam2
를 생성합니다. 마지막으로 camera_copy_transforms
를 호출하여 cam1
의 변환 관련 설정을 cam2
로 복사합니다.
활용 예제
- 게임 씬 전환 시 카메라 설정 복사
- 게임 씬이 전환될 때 기존 카메라의 설정을 새로운 카메라에 복사하여 부드러운 전환 효과를 줄 수 있습니다.
gml if (scene_changed) { new_camera = camera_create(); camera_copy_transforms(new_camera, current_camera); current_camera = new_camera; }
- 다양한 필터 적용 시 카메라 복사
- 여러 필터를 적용할 때 각 필터에 대해 카메라 설정을 복사하여 효과를 조정할 수 있습니다.
gml filter_camera = camera_create(); camera_copy_transforms(filter_camera, main_camera); apply_filter(filter_camera);
- UI 요소에 맞춘 카메라 조정
- UI 요소가 변경될 때 카메라의 뷰를 조정하여 UI와의 일관성을 유지할 수 있습니다.
gml if (ui_changed) { adjusted_camera = camera_create(); camera_copy_transforms(adjusted_camera, main_camera); adjust_camera_for_ui(adjusted_camera); }
- 게임 오브젝트의 카메라 설정 복사
- 특정 게임 오브젝트가 카메라를 소유할 때, 해당 오브젝트의 카메라 설정을 복사하여 사용합니다.
gml object_camera = camera_create(); camera_copy_transforms(object_camera, player_camera);
- 다중 카메라 시스템 구축
- 여러 카메라를 사용하여 다양한 뷰를 제공할 때, 기본 카메라의 설정을 복사하여 사용합니다.
gml for (var i = 0; i < num_cameras; i++) { cameras[i] = camera_create(); camera_copy_transforms(cameras[i], main_camera); }