Camera QML Type
카메라의 추상적 기반을 정의합니다. 더 보기...
Import Statement: | import QtQuick3D |
Inherits: | |
Inherited By: |
속성
- 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 씬의 콘텐츠가 View3D 와 같은 2D 표면에 투영되는 방식을 정의합니다. 씬의 콘텐츠를 시각화하려면 씬에 카메라가 하나 이상 필요합니다.
씬의 다른 공간 Node 처럼 카메라를 배치하고 회전할 수 있습니다. Node 의 위치와 방향에 따라 씬에서 카메라의 위치와 카메라가 향하는 방향이 결정됩니다. 카메라의 기본 방향은 음의 Z축을 따라 전방 벡터를 향하고 양의 Y축을 따라 위쪽 벡터를 향합니다.
프러스텀은 위치 및 방향과 함께 씬의 어느 부분이 카메라에 표시되고 2D 표면에 어떻게 투영되는지를 정의합니다. 다양한 카메라 하위 유형은 카메라의 프러스텀 모양을 결정하기 위한 여러 옵션을 제공합니다.
- PerspectiveCamera 카메라에 피라미드 모양의 프러스텀을 제공하여 카메라에서 멀리 떨어진 오브젝트가 더 작게 보이도록 투영합니다. 가장 일반적으로 사용되는 카메라 유형이며 대부분의 실제 카메라가 작동하는 방식에 해당합니다.
- OrthographicCamera 는 프러스텀의 선이 평행한 카메라를 제공하여 카메라까지의 거리에 따라 물체의 인지된 배율이 영향을 받지 않습니다. 이 유형의 카메라의 일반적인 사용 사례는 CAD(컴퓨터 지원 설계) 애플리케이션과 지도 제작입니다.
- FrustumCamera 는 근거리 평면과의 교차 좌표로 프러스텀을 자유롭게 커스터마이징할 수 있는 원근 카메라 유형입니다. 비대칭 카메라 프러스텀이 필요한 경우에 유용합니다.
- CustomCamera 는 투사 행렬을 자유롭게 사용자 지정할 수 있는 카메라 유형으로, 자체 투사 행렬을 계산하려는 고급 사용자에게 유용할 수 있습니다.
차이점을 설명하기 위해 이 스크린샷은 PerspectiveCamera 과 OrthographicCamera 에서 투사된 동일한 장면을 보여줍니다. 원근 투영을 사용하여 렌더링된 이미지에서 빨간색 상자가 녹색 상자보다 작은 것을 확인할 수 있습니다.
투시 카메라 | 직교 카메라 |
---|---|
Qt Quick 3D - View3D 예시를참조하세요 .
속성 문서
frustumCullingEnabled : bool |
이 프로퍼티가 true
인 경우 카메라 프러스텀 외부의 오브젝트는 컬링되어 렌더러에 전달되지 않습니다. 기본적으로 이 프로퍼티는 false
로 설정됩니다. 모든 또는 대부분의 오브젝트가 카메라 프러스텀 내부에 있는 씬의 경우 프러스텀 컬링은 불필요한 성능 오버헤드입니다. 그러나 많은 부분이 카메라 시야 밖에 있는 복잡한 씬의 경우 프러스텀 컬링을 활성화하면 성능이 향상될 수 있습니다.
levelOfDetailBias : real |
이 프로퍼티는 자동 레벨 오브 디테일 메시가 사용되기 전에 렌더링해야 하는 모델의 크기를 변경합니다. 생성된 각 레벨 오브 디테일 메시에는 각 레벨이 표시되어야 하는 이상적인 크기 값이 포함되어 있으며, 이는 렌더링된 씬에서 해당 메시가 차지하는 비율입니다. 화면에서 몇 픽셀만 표현하는 모델에는 전체 지오메트리가 올바르게 보이지 않으므로 이 경우 더 낮은 레벨 오브 디테일 메시가 대신 사용됩니다. 이 값은 이상적인 값에 대한 편향된 값으로, 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 를 가리키도록 카메라의 회전 값을 설정합니다.
viewportPos 을 뷰포트 공간(2D)에서 전역 씬 공간(3D)으로 변환합니다.
viewportPos 의 x 및 y 값은 뷰포트의 왼쪽 위를 [0, 0], 오른쪽 아래를 [1, 1]로 하여 정규화해야 합니다. z 값은 프러스텀의 가까운 클립 평면(clipNear)으로부터의 거리로 해석됩니다.
viewportPos 을 씬의 위치에 성공적으로 매핑할 수 없는 경우 [0, 0, 0]의 위치가 반환됩니다.
mapToViewport 및 View3D.mapTo3DScene()도 참조하십시오 .
scenePos 을 전역 장면 공간(3D)에서 뷰포트 공간(2D)으로 변환합니다.
반환된 위치는 정규화되어 뷰포트의 왼쪽 위는 [0, 0], 오른쪽 아래는 [1, 1]이 됩니다. 반환된 z 값에는 프러스텀의 가까운 클립 평면(clipNear)에서 scenePos 까지의 거리가 씬 좌표로 포함됩니다. 거리가 음수이면 해당 지점은 카메라 뒤에 있습니다.
scenePos 을 뷰포트의 위치에 매핑할 수 없는 경우 [0, 0, 0]의 위치가 반환됩니다.
mapFromViewport() 및 View3D.mapFrom3DScene()도 참조하십시오 .
© 2025 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.