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 |
- 상속된 멤버를 포함한 모든 멤버 목록
- QSceneLoader는 입력/출력 및 네트워킹의 일부입니다.
공용 유형
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
이 열거형은 컴포넌트 유형을 지정합니다.
Constant | 값 | 설명 |
---|---|---|
Qt3DRender::QSceneLoader::UnknownComponent | 0 | 알 수 없는 컴포넌트 유형 |
Qt3DRender::QSceneLoader::GeometryRendererComponent | 1 | Qt3DRender::QGeometryRenderer 컴포넌트 |
Qt3DRender::QSceneLoader::TransformComponent | 2 | Qt3DCore::QTransform 컴포넌트 |
Qt3DRender::QSceneLoader::MaterialComponent | 3 | Qt3DRender::QMaterial 컴포넌트 |
Qt3DRender::QSceneLoader::LightComponent | 4 | Qt3DRender::QAbstractLight component |
Qt3DRender::QSceneLoader::CameraLensComponent | 5 | Qt3DRender::QCameraLens component |
enum QSceneLoader::Status
이 열거형은 로딩 상태를 식별합니다.
Constant | 값 | 설명 |
---|---|---|
Qt3DRender::QSceneLoader::None | 0 | Qt3DRender::QSceneLoader 은 아직 사용되지 않았습니다. |
Qt3DRender::QSceneLoader::Loading | 1 | Qt3DRender::QSceneLoader 은 현재 씬 파일을 로드 중입니다. |
Qt3DRender::QSceneLoader::Ready | 2 | Qt3DRender::QSceneLoader 이 장면 파일을 성공적으로 로드했습니다. |
Qt3DRender::QSceneLoader::Error | 3 | Qt3DRender::QSceneLoader 에서 씬 파일을 로드하는 동안 오류가 발생했습니다. |
속성 문서
source : QUrl
로드할 소스의 URL을 보유합니다.
액세스 기능:
QUrl | source() const |
void | setSource(const QUrl &arg) |
알림 신호:
void | sourceChanged(const QUrl &source) |
[read-only]
status : const Status
씬 로딩 상태를 유지합니다.
- SceneLoader.None
- SceneLoader.Loading
- SceneLoader.Ready
- SceneLoader.Error
기능에 액세스합니다:
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.