Camera QML Type
카메라(Camera)의 추상 기본 클래스를 정의합니다. 더 보기...
| Import Statement: | import QtQuick3D |
| Inherits: | |
| Inherited By: | CustomCamera, FrustumCamera, OrthographicCamera, and PerspectiveCamera |
속성
- frustumCullingEnabled : bool
- levelOfDetailBias : real
(since 6.5) - lookAtNode : Node
방법
- vector3d lookAt(QtQuick3D::Node node)
- vector3d lookAt(vector3d scenePos)
- vector3d mapFromViewport(vector3d viewportPos)
- vector3d mapToViewport(vector3d scenePos)
상세 설명
카메라는 3D 씬의 콘텐츠가 화면을 포함한 2D 표면( View3D)에 어떻게 투영되는지를 정의합니다. 씬의 콘텐츠를 시각화하려면 적어도 하나의 카메라가 필요합니다.
카메라는 장면 내의 다른 공간 객체( Node )와 마찬가지로 위치와 방향을 조정할 수 있습니다. 카메라 객체( Node)의 위치와 방향은 장면 내에서 카메라가 어디에 있는지, 그리고 어떤 방향을 향하고 있는지를 결정합니다. 카메라의 기본 방향은 전방 벡터가 음의 Z축을 따라 가리키고, 상향 벡터가 양의 Y축을 따라 가리키도록 설정되어 있습니다.
위치와 방향과 함께, 시야뿔(frustum)은 카메라에 어떤 장면 부분이 보이는지와 이 부분이 2D 표면에 어떻게 투영되는지를 정의합니다. 다양한 카메라 하위 유형은 카메라 시야뿔의 모양을 결정하는 여러 가지 옵션을 제공합니다.
- PerspectiveCamera 는 피라미드 모양의 프러스텀을 가진 카메라를 제공하며, 이 경우 카메라에서 멀리 떨어진 물체가 더 작게 보이도록 투영됩니다. 이는 가장 일반적으로 사용되는 카메라 유형이며, 대부분의 실제 카메라가 작동하는 방식과 일치합니다.
- OrthographicCamera 는 프러스텀의 변들이 평행한 카메라를 제공하며, 이로 인해 물체의 지각되는 크기가 카메라와의 거리에 영향을 받지 않습니다. 이 유형의 카메라가 주로 사용되는 분야로는 CAD(컴퓨터 지원 설계) 애플리케이션과 지도 제작이 있습니다.
- FrustumCamera 근접면과의 교차점 좌표를 통해 원뿔의 범위를 자유롭게 조정할 수 있는 원근법 카메라 유형입니다. 비대칭적인 카메라 원뿔이 필요한 경우에 유용할 수 있습니다.
- CustomCamera 투영 행렬을 자유롭게 사용자 정의할 수 있는 카메라 유형으로, 직접 투영 행렬을 계산하고자 하는 고급 사용자에게 유용할 수 있습니다.
이 차이를 설명하기 위해, 다음 스크린샷은 평면 투영( PerspectiveCamera )과 원근 투영( OrthographicCamera)으로 투영된 동일한 장면을 보여줍니다. 원근 투영을 사용하여 렌더링된 이미지에서 빨간색 상자가 녹색 상자보다 더 작다는 점에 주목하십시오.
| 원근법 카메라 | 정투영 카메라 |
|---|---|
|
|
Qt Quick 3D - View3D 예제도참조하십시오 .
속성 문서
frustumCullingEnabled : bool
이 속성이 ‘ true ’로 설정되어 있으면, 카메라 프러스텀 외부에 있는 오브젝트가 컬링되어 렌더러로 전달되지 않습니다. 기본적으로 이 속성은 ‘ false ’로 설정되어 있습니다. 모든 오브젝트 또는 대부분의 오브젝트가 카메라 프러스텀 내에 있는 장면의 경우, 프러스텀 컬링은 불필요한 성능 부하를 초래합니다. 그러나 카메라 시야 밖에도 많은 부분이 위치한 복잡한 장면의 경우, 프러스텀 컬링을 활성화하면 성능이 향상될 수 있습니다.
levelOfDetailBias : real [since 6.5]
이 속성은 자동 디테일 레벨(LOD) 메쉬가 사용되기 전에 모델이 렌더링될 때 필요한 크기를 변경합니다. 생성된 각 LOD 메쉬에는 해당 레벨이 표시되어야 할 이상적인 크기 값이 포함되어 있으며, 이는 렌더링된 장면에서 해당 메쉬가 차지하는 비율을 나타냅니다. 화면에서 단 몇 픽셀만 차지하는 모델의 경우, 올바르게 표시되기 위해 전체 지오메트리가 필요하지 않으므로, 이 경우에는 대신 더 낮은 수준의 디테일 메쉬가 사용됩니다. 이 값은 이상적인 값에 대한 편차로 작용하며, 1.0 보다 작은 값일수록 더 낮은 수준의 디테일 메쉬로 전환되기 전에 필요한 렌더링 크기가 더 작아집니다. 1.0 보다 큰 값을 설정하면 더 낮은 수준의 디테일이 더 빨리 사용됩니다. 0.0 의 값을 설정하면 디테일 레벨 기능이 완전히 비활성화됩니다.
기본값은 1.0
참고: 이 속성은 디테일 레벨을 포함하는 지오메트리를 가진 모델에만 영향을 미칩니다.
이 속성은 Qt 6.5에서 도입되었습니다.
Model::levelOfDetailBias도 참조하십시오 .
lookAtNode : Node
이 속성이 ‘ non-null ’ 값으로 설정된 경우, 이 카메라의 위치나 지정된 노드의 위치가 변경될 때마다 이 카메라가 지정된 노드를 계속 향하도록 카메라의 회전 각도가 자동으로 업데이트됩니다. 기본적으로 이 속성은 ‘ null ’로 설정되어 있습니다.
lookAt도 참조하십시오 .
메서드 문서
vector3d lookAt(QtQuick3D::Node node)
카메라가 node 방향을 향하도록 카메라의 회전 값을 설정합니다.
vector3d lookAt(vector3d scenePos)
카메라가 scenePos 를 향하도록 카메라의 회전 값을 설정합니다.
vector3d mapFromViewport(vector3d viewportPos)
viewportPos 를 뷰포트 공간(2D)에서 전역 씬 공간(3D)으로 변환합니다.
viewportPos 의 x 및 y 값은 정규화되어야 하며, 뷰포트의 왼쪽 상단은 [0, 0], 오른쪽 하단은 [1, 1]이어야 합니다. z 값은 프러스텀의 근접 클립 평면(clipNear)으로부터의 거리로 해석됩니다.
viewportPos 를 씬 내의 위치로 성공적으로 매핑할 수 없는 경우, [0, 0, 0] 위치가 반환됩니다.
mapToViewport 및 View3D.mapTo3DScene()도 참조하십시오 .
vector3d mapToViewport(vector3d scenePos)
scenePos 를 전역 씬 공간(3D)에서 뷰포트 공간(2D)으로 변환합니다.
반환된 위치는 정규화되어 있으며, 뷰포트의 왼쪽 상단이 [0, 0]이고 오른쪽 하단이 [1, 1]입니다. 반환된 z 값에는 프러스텀의 근접 클립 평면(clipNear)에서 scenePos 까지의 거리가 씬 좌표계로 포함됩니다. 거리가 음수인 경우, 해당 점은 카메라 뒤쪽에 있습니다.
scenePos 를 뷰포트 내 위치로 성공적으로 매핑할 수 없는 경우, [0, 0, 0] 위치가 반환됩니다.
mapFromViewport() 및 View3D.mapFrom3DScene()도 참조하십시오 .
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.

