이 페이지에서

Scene3D QML Type

Scene3D 유형은 Qt3D 장면을 QtQuick 2 장면에 통합하는 데 사용됩니다. 더 보기...

Import Statement: import QtQuick.Scene3D 2.11
Inherits:

Item

Status: Preliminary

이 유형은 개발 중이며 변경될 수 있습니다.

속성

방법

상세 설명

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

씬에 있는 카메라의 종횡비를 계산하는 방법을 정의합니다.

Constant설명
Scene3D.AutomaticAspectRatio자동 종횡비.
Scene3D.UserAspectRatio사용자 정의 종횡비.

compositingMode : enumeration

상수설명
FBO씬이 프레임 버퍼 오브젝트로 렌더링되며, 일부 플랫폼 및 하드웨어에서는 비용이 많이 들 수 있지만 유연성이 더 뛰어납니다. 자동 종횡비. Scene3D 요소가 전체 화면을 차지하지 않아야 하고 선택적으로 크기를 조정하거나 애니메이션을 적용하려는 경우 선택할 수 있는 합성 모드입니다. 이 모드에서는 QML 파일에서 Scene3D 의 위치에 따라 다른 Qt Quick 요소에 대한 스태킹 순서가 제어됩니다.
UnderlayFBO를 사용하면 리소스를 너무 많이 사용할 수 있는 전체 화면 3D 장면에 적합합니다. Scene3DQtQuick 언더레이처럼 작동합니다. 이 모드를 사용하면 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.