Qt 5.13 | Qt 3D | QML Types | SceneLoader QML Type

Qt 5.13.2 Reference Documentation

# SceneLoader QML Type

Provides the facility to load an existing Scene. More...

Import Statement: | import Qt3D.Render 2.13
Since: | Qt 5.7

- List of all members, including inherited members

## Properties

- source : url
- status : enumeration

## Methods

- Entity component(entityName, enumeration componentType)
- Entity entity(entityName)
- list entityNames()

## Detailed Description

Given a 3D source file, the SceneLoader will try to parse it and build a tree of Entity objects with proper GeometryRenderer, Transform and Material components.

The loader will try to determine the best material to be used based on the properties of the model file. If you wish to use a custom material, you will have to traverse the tree and replace the default associated materials with yours.

As the name implies, SceneLoader loads a complete scene subtree. If you wish to load a single piece of geometry, you should rather use the Mesh instead.

SceneLoader internally relies on the use of plugins to support a wide variety of 3D file formats. Here is a list of formats that are supported by Qt3D.

Note: this component shouldn't be shared among several Entity instances. Undefined behavior will result.

See also Mesh and GeometryRenderer.

## Property Documentation

source : url

Holds the url to the source to be loaded.

[read-only] status : enumeration

Holds the status of scene loading.

- SceneLoader.None
- SceneLoader.Loading
- SceneLoader.Ready
- SceneLoader.Error

See also Qt3DRender::QSceneLoader::Status.

## Method Documentation

Entity component(entityName, enumeration componentType)

Returns a component matching componentType of a loaded entity with an objectName matching the entityName. If the entity has multiple matching components, the first match in the component list of the entity is returned. If there is no match, an undefined item is returned.

- SceneLoader.UnknownComponent Unknown component type
- SceneLoader.GeometryRendererComponent Qt3DRender::QGeometryRenderer component
- SceneLoader.TransformComponent Qt3DCore::QTransform component
- SceneLoader.MaterialComponent Qt3DRender::QMaterial component
- SceneLoader.LightComponent Qt3DRender::QAbstractLight component
- SceneLoader.CameraLensComponent Qt3DRender::QCameraLens component

See also Qt3DRender::QSceneLoader::ComponentType.

Entity entity(entityName)

Returns a loaded entity with the `objectName` matching the entityName parameter. If multiple entities have the same name, it is undefined which one of them is returned, but it will always be the same one.

list entityNames()

Returns a list of the `objectNames` of the loaded entities.