이 페이지에서

Qt3DRender::QSceneLoader Class

class Qt3DRender::QSceneLoader

기존 씬을 불러올 수 있는 기능을 제공합니다. 더 보기...

헤더: #include <qsceneloader.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
QML에서: SceneLoader
상속: Qt3DCore::QComponent
상태: 사용 중단됨

이 클래스는 더 이상 사용되지 않습니다. 새로운 코드에서는 이 클래스를 사용하지 않는 것을 강력히 권장합니다.

공개 유형

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::QTransform 및 Qt3DRender::QMaterial 구성 요소를 가진 Qt3DCore::QEntity 객체의 트리를 구축합니다.

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

이름에서 알 수 있듯이, ` Qt3DRender::QSceneLoader `는 전체 장면 하위 트리를 로드합니다. 단일 지오메트리만 로드하려는 경우에는 대신 ` Qt3DRender::QMesh `를 사용해야 합니다.

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

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

Qt3DRender::QMesh 및 Qt3DRender::QGeometryRenderer도 참조하십시오 .

멤버 유형 문서

enum QSceneLoader::ComponentType

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

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

enum QSceneLoader::Status

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

상수값설명
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 : Status

씬 로딩 상태를 나타냅니다.

  • SceneLoader.None
  • SceneLoader.Loading
  • SceneLoader.Ready
  • SceneLoader.Error

액세스 함수:

Qt3DRender::QSceneLoader::Status status() const

Notifier 신호:

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

entityName 에 일치하는 objectName을 가진, 로드된 엔티티의 componentType 에 해당하는 컴포넌트를 반환합니다. 엔티티에 일치하는 컴포넌트가 여러 개 있는 경우, 해당 엔티티의 컴포넌트 목록에서 첫 번째로 일치하는 항목이 반환됩니다. 일치하는 항목이 없는 경우 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 를 참조하십시오.

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