Scene3D QML Type
Scene3D 유형은 Qt3D 씬을 QtQuick 2 씬에 통합하는 데 사용됩니다. 더 보기...
| Import Statement: | import QtQuick.Scene3D 2.12 |
| Inherits: | |
| Status: | Technology preview |
이 타입은 기술 미리보기 단계에 있으며 변경될 수 있습니다.
속성
- aspects : list<string>
- cameraAspectRatioMode : enumeration
- compositingMode : enumeration
- entity : Entity
- hoverEnabled : bool
- multisample : bool
방법
- void setItemAreaAndDevicePixelRatio(size area, real devicePixelRatio)
상세 설명
Scene3D 유형은 Entity 에서 제공하는 Qt3D 씬을 멀티샘플링된 프레임버퍼 객체로 렌더링합니다. 이 객체는 나중에 멀티샘플링되지 않은 프레임버퍼 객체로 블릿 처리되며, 이후 프리멀티플라이드 알파를 적용하여 렌더링됩니다. 멀티샘플링이 필요하지 않은 경우, ` multisample ` 속성을 ` false`로 설정하여 이를 방지할 수 있습니다. 이 경우 Scene3D는 멀티샘플링되지 않은 프레임버퍼 객체에 직접 렌더링합니다.
렌더링할 씬에 불투명하지 않은 머티리얼이 포함되어 있는 경우, 해당 머티리얼이 올바르게 렌더링되도록 사용자 정의 블렌드 인수를 사용하여 수정해야 할 수 있습니다. 예를 들어, PhongAlphaMaterial 를 사용하고 불투명한 클리어 컬러가 포함된 씬을 작업하는 경우, 해당 머티리얼에 다음을 추가해야 할 가능성이 높습니다:
sourceAlphaArg: BlendEquationArguments.Zero
destinationAlphaArg: BlendEquationArguments.One를 추가해야 할 가능성이 높습니다.
애플리케이션당 Scene3D 인스턴스를 두 개 이상 생성하는 것은 권장되지 않습니다. 그 이유는 Scene3D 인스턴스가 해당 씬 아래의 전체 Qt 3D 엔진(예: 메모리 관리자, 스레드 풀, 렌더링)을 인스턴스화하기 때문입니다.
참고: Scene3D 요소의 가시성을 false로설정하면 Qt 3D 시뮬레이션 루프가 중지됩니다. 즉, 가시성 속성을 Qt 3D 시뮬레이션 루프(FrameAction)에 의해 구동되는 속성 업데이트에 의존하는 표현식에 바인딩하면 해당 표현식이 다시 평가되지 않습니다.
속성 문서
aspects : list<string>
3D 씬에 등록해야 할 어스펙트 목록입니다.
예를 들어, 씬에서 FrameAction을 사용하는 경우, "logic" 측면을 목록에 포함해야 합니다.
"render" 어스펙트는 고정되어 있으므로 명시적으로 나열할 필요가 없습니다.
cameraAspectRatioMode : enumeration
씬에 있는 카메라의 화면 비율을 계산하는 방식을 정의합니다.
| 상수 | 설명 |
|---|---|
Scene3D.AutomaticAspectRatio | 자동 화면비. |
Scene3D.UserAspectRatio | 사용자가 정의한 종횡비. |
compositingMode : enumeration
| 상수 | 설명 |
|---|---|
FBO | 씬은 프레임 버퍼 객체(Frame Buffer Object)로 렌더링되는데, 이는 일부 플랫폼 및 하드웨어에서 성능 부담이 클 수 있지만 더 큰 유연성을 제공합니다. 자동 종횡비. 이 모드는 Scene3D 요소가 화면 전체를 차지하지 않아야 하거나, 선택적으로 크기를 조정하거나 애니메이션을 적용할 계획인 경우 선택해야 할 합성 모드입니다. 이 모드에서는 QML 파일 내의 Scene3D 위치가 다른 Qt Quick 요소에 대한 중첩 순서를 결정합니다. |
Underlay | FBO 사용이 리소스를 지나치게 많이 소모할 수 있는 전체 화면 3D 장면에 적합합니다. Scene3D 는 QtQuick 의 언더레이로 작동합니다. 이 모드를 사용할 경우, Scene3D 의 크기와 변환은 무시되며 렌더링이 화면 전체를 차지한다는 점에 유의하십시오. QML 파일 내 Scene3D 의 위치도 아무런 영향을 미치지 않습니다. Qt 3D 의 콘텐츠는 Qt Quick 의 콘텐츠보다 먼저 그려집니다. Qt Quick 의 콘텐츠가 Qt 3D 의 콘텐츠와 겹쳐서 의 콘텐츠가 가려지지 않도록 주의해야 합니다. 또한 이 모드를 사용할 경우, 창의 clearBeforeRendering 속성은 자동으로 false로 설정됩니다. |
기본값은 ` FBO`입니다.
entity : Entity [default]
표시할 3D 씬의 루트 엔티티입니다.
hoverEnabled : bool
true 마우스 오버 이벤트가 허용되는 경우.
multisample : bool
true 멀티샘플 렌더 버퍼가 요청된 경우.
기본적으로 멀티샘플링이 활성화되어 있습니다. OpenGL 구현체가 멀티샘플 렌더 버퍼나 프레임버퍼 블릿을 지원하지 않는 경우, 멀티샘플링 사용 요청은 무시됩니다.
참고: 프레임버퍼 및 기타 OpenGL 리소스의 초기화가 비용이 많이 들고 속도가 느려질 수 있으므로, 이 값을 자주 변경하지마십시오 .
메서드 설명서
void setItemAreaAndDevicePixelRatio(size area, real devicePixelRatio)
항목 영역을 area 로, 픽셀 비율을 devicePixelRatio 로 설정합니다.
© 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.