QSceneLoader Class

class Qt3DRender::QSceneLoader

기존 씬을 로드하는 기능을 제공합니다. 더 보기...

헤더: #include <QSceneLoader>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
QML에서: SceneLoader
상속합니다: Qt3DCore::QComponent
상태: Deprecated

공용 유형

enum ComponentType { UnknownComponent, GeometryRendererComponent, TransformComponent, MaterialComponent, LightComponent, CameraLensComponent }
enum Status { None, Loading, Ready, Error }

속성

공용 기능

QSceneLoader(Qt3DCore::QNode *parent = nullptr)
Qt3DCore::QComponent *component(const QString &entityName, Qt3DRender::QSceneLoader::ComponentType componentType) const
Qt3DCore::QEntity *entity(const QString &entityName) const
QStringList entityNames() const
QUrl source() const
Qt3DRender::QSceneLoader::Status status() const

공용 슬롯

void setSource(const QUrl &arg)

신호

void sourceChanged(const QUrl &source)
void statusChanged(Qt3DRender::QSceneLoader::Status status)

상세 설명

3D 소스 파일이 주어지면 Qt3DRender::QSceneLoader 은 파싱을 시도하고 적절한 Qt3DRender::QGeometryRenderer, Qt3DCore::QTransformQt3DRender::QMaterial 컴포넌트가 있는 Qt3DCore::QEntity 오브젝트 트리를 빌드합니다.

로더는 모델 파일의 속성을 기반으로 사용할 최적의 머티리얼을 결정하려고 시도합니다. 사용자 정의 머티리얼을 사용하려면 트리를 탐색하여 기본 연결된 머티리얼을 사용자 정의 머티리얼로 바꿔야 합니다.

이름에서 알 수 있듯이 Qt3DRender::QSceneLoader 는 전체 씬 서브트리를 로드합니다. 단일 지오메트리 조각을 로드하려면 Qt3DRender::QMesh 을 사용해야 합니다.

Qt3DRender::QSceneLoader 내부적으로 다양한 3D 파일 형식을 지원하기 위해 플러그인을 사용합니다. 다음은 Qt3D에서 지원하는 포맷 목록입니다.

참고: 이 컴포넌트는 여러 Qt3DCore::QEntity 인스턴스 간에 공유해서는 안 됩니다. 정의되지 않은 동작이 발생할 수 있습니다.

Qt3DRender::QMeshQt3DRender::QGeometryRenderer참조하십시오 .

멤버 유형 문서

enum QSceneLoader::ComponentType

이 열거형은 컴포넌트 유형을 지정합니다.

Constant설명
Qt3DRender::QSceneLoader::UnknownComponent0알 수 없는 컴포넌트 유형
Qt3DRender::QSceneLoader::GeometryRendererComponent1Qt3DRender::QGeometryRenderer 컴포넌트
Qt3DRender::QSceneLoader::TransformComponent2Qt3DCore::QTransform 컴포넌트
Qt3DRender::QSceneLoader::MaterialComponent3Qt3DRender::QMaterial 컴포넌트
Qt3DRender::QSceneLoader::LightComponent4Qt3DRender::QAbstractLight component
Qt3DRender::QSceneLoader::CameraLensComponent5Qt3DRender::QCameraLens component

enum QSceneLoader::Status

이 열거형은 로딩 상태를 식별합니다.

Constant설명
Qt3DRender::QSceneLoader::None0Qt3DRender::QSceneLoader 은 아직 사용되지 않았습니다.
Qt3DRender::QSceneLoader::Loading1Qt3DRender::QSceneLoader 은 현재 씬 파일을 로드 중입니다.
Qt3DRender::QSceneLoader::Ready2Qt3DRender::QSceneLoader 이 장면 파일을 성공적으로 로드했습니다.
Qt3DRender::QSceneLoader::Error3Qt3DRender::QSceneLoader 에서 씬 파일을 로드하는 동안 오류가 발생했습니다.

속성 문서

source : QUrl

로드할 소스의 URL을 보유합니다.

액세스 기능:

QUrl source() const
void setSource(const QUrl &arg)

알림 신호:

void sourceChanged(const QUrl &source)

[read-only] status : const Status

씬 로딩 상태를 유지합니다.

기능에 액세스합니다:

Qt3DRender::QSceneLoader::Status status() const

알림 신호:

void statusChanged(Qt3DRender::QSceneLoader::Status status)

Qt3DRender::QSceneLoader::Status참조하세요 .

멤버 함수 문서

[explicit] QSceneLoader::QSceneLoader(Qt3DCore::QNode *parent = nullptr)

생성자는 지정된 parent 로 인스턴스를 생성합니다.

[invokable] Qt3DCore::QComponent *QSceneLoader::component(const QString &entityName, Qt3DRender::QSceneLoader::ComponentType componentType) const

componentType 로드된 엔티티의 객체 이름이 entityName 과 일치하는 컴포넌트를 반환합니다. 엔티티에 일치하는 컴포넌트가 여러 개 있는 경우 엔티티의 컴포넌트 목록에서 첫 번째로 일치하는 컴포넌트가 반환됩니다. 일치하는 항목이 없으면 null 포인터가 반환됩니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

[invokable] Qt3DCore::QEntity *QSceneLoader::entity(const QString &entityName) const

entityName 매개변수와 일치하는 objectName 로 로드된 엔티티를 반환합니다. 여러 엔티티의 이름이 같은 경우 어떤 엔티티가 반환되는지는 정의되지 않지만 항상 같은 엔티티가 반환됩니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

[invokable] QStringList QSceneLoader::entityNames() const

로드된 엔티티의 objectNames 목록을 반환합니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

© 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.