En esta página

Scene3D QML Type

El tipo Scene3D se utiliza para integrar una escena Qt3D en una escena QtQuick 2. Más...

Import Statement: import QtQuick.Scene3D 2.11
Inherits:

Item

Status: Preliminary

Este tipo está en desarrollo y está sujeto a cambios.

Propiedades

Métodos

Descripción detallada

El tipo Scene3D renderiza una escena Qt3D, proporcionada por Entity, en un objeto Framebuffer multimuestreado. Este objeto se mezcla posteriormente en un objeto Framebuffer no multimuestreado, que se renderiza con alfa premultiplicado. Si el multimuestreo no es necesario, puede evitarse estableciendo la propiedad multisample a false. En este caso Scene3D renderizará directamente en el objeto Framebuffer no multimuestreado.

Si la escena a renderizar incluye materiales no opacos, puede ser necesario modificar dichos materiales con argumentos de mezcla personalizados para que se rendericen correctamente. Por ejemplo, si se trabaja con un PhongAlphaMaterial y una escena con un color transparente opaco, es probable que desee añadir:

sourceAlphaArg: BlendEquationArguments.Zero
destinationAlphaArg: BlendEquationArguments.One

a ese material.

No se recomienda instanciar más de una instancia de Scene3D por aplicación. La razón es que una instancia de Scene3D instanciará todo el motor Qt 3D (por ejemplo, gestores de memoria, thread pool, render) bajo la escena.

Nota: Si se establece la visibilidad del elemento Scene3D en false, se detendrá el bucle de simulación de Qt 3D. Esto significa que la vinculación de la propiedad visible a una expresión que dependa de las actualizaciones de propiedades impulsadas por el bucle de simulación Qt 3D (FrameAction) nunca se volverá a evaluar.

Documentación de propiedades

aspects : list<string>

La lista de aspectos que deben registrarse para la escena 3D.

Por ejemplo, si la escena utiliza FrameAction, el aspecto "logic" debe incluirse en la lista.

El aspecto "render" está cableado y no es necesario incluirlo explícitamente en la lista.

cameraAspectRatioMode : enumeration

Define cómo se calcula la relación de aspecto de una cámara que se encuentra en la escena.

ConstanteDescripción
Scene3D.AutomaticAspectRatioRelación de aspecto automática.
Scene3D.UserAspectRatioRelación de aspecto definida por el usuario.

compositingMode : enumeration

ConstanteDescripción
FBOLa escena se renderiza en un Frame Buffer Object que puede ser costoso en algunas plataformas y hardware pero permite una mayor flexibilidad. Relación de aspecto automática. Este es el modo de composición a elegir si su elemento Scene3D no debe ocupar toda la pantalla y si opcionalmente planea tenerlo redimensionado o animado. En este modo, la posición de Scene3D en el archivo QML controla su orden de apilamiento con respecto a los demás elementos de Qt Quick.
UnderlayAdecuado para escenas 3D a pantalla completa en las que el uso de un FBO podría consumir demasiados recursos. Scene3D se comporta como un QtQuick subyacente. Tenga en cuenta que al utilizar este modo, el tamaño de Scene3D y sus transformaciones se ignoran y el renderizado ocupará toda la pantalla. La posición de Scene3D en el archivo QML tampoco tendrá ningún efecto. El contenido de Qt 3D se dibujará antes que cualquier contenido de Qt Quick. Hay que tener cuidado de no sobredibujar y ocultar el contenido Qt 3D solapando el contenido Qt Quick. Además, al utilizar este modo, la ventana clearBeforeRendering se establecerá automáticamente en false.

El valor por defecto es FBO.

entity : Entity [default]

La entidad raíz de la escena 3D que se va a mostrar.

hoverEnabled : bool

true si se aceptan eventos hover.

multisample : bool

true si se solicita un búfer de renderizado multimuestreo.

Por defecto, el muestreo múltiple está activado. Si la implementación de OpenGL no tiene soporte para renderbuffers multimuestra o framebuffer blits, la petición para usar multimuestreo es ignorada.

Nota: No modifique el valor con frecuencia, ya que implica una inicialización costosa y potencialmente lenta de los framebuffers y otros recursos OpenGL.

Documentación del método

void setItemAreaAndDevicePixelRatio(size area, real devicePixelRatio)

Establece el área del elemento en area y la proporción de píxeles en 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.