Sur cette page

Scene3D QML Type

Le type Scene3D sert à intégrer une scène Qt3D dans une scène d’ QtQuick ie 2. En savoir plus…

Import Statement: import QtQuick.Scene3D 2.12
Inherits:

Item

Status: Technology preview

Ce type est en préversion technologique et est susceptible d'être modifié.

Propriétés

Méthodes

Description détaillée

Le type Scene3D effectue le rendu d’une scène Qt3D, fournie par un objet « Entity », dans un objet Framebuffer à échantillonnage multiple. Cet objet est ensuite copié dans un objet Framebuffer sans échantillonnage multiple, qui est alors rendu avec un alpha pré-multiplié. Si le multisampling n’est pas nécessaire, il est possible de le désactiver en définissant la propriété ` multisample ` sur ` false`. Dans ce cas, Scene3D effectuera le rendu directement dans l’objet Framebuffer non multisamplé.

Si la scène à afficher comprend des matériaux non opaques, vous devrez peut-être modifier ces matériaux à l’aide d’arguments de fusion personnalisés afin qu’ils s’affichent correctement. Par exemple, si vous travaillez avec une « PhongAlphaMaterial » et une scène comportant une couleur de transparence opaque, vous souhaiterez probablement ajouter :

sourceAlphaArg: BlendEquationArguments.Zero
destinationAlphaArg: BlendEquationArguments.One

à ce matériau.

Il n’est pas recommandé d’instancier plus d’une instance Scene3D par application. En effet, une instance Scene3D instancie l’intégralité du moteur d’ Qt 3D (par exemple, les gestionnaires de mémoire, le pool de threads, le rendu) sous la scène.

Remarque : définir la visibilité de l’élément Scene3D sur « false » interrompt la boucle de simulation d’ Qt 3D. Cela signifie que lier la propriété « visible » à une expression dépendant des mises à jour de propriétés générées par la boucle de simulation d’ Qt 3D (FrameAction) n’entraînera jamais de réévaluation.

Documentation des propriétés

aspects : list<string>

Liste des aspects à enregistrer pour la scène 3D.

Par exemple, si la scène utilise FrameAction, l'aspect « "logic" » doit être inclus dans la liste.

L'aspect « "render" » est intégré par défaut et n'a pas besoin d'être explicitement mentionné.

cameraAspectRatioMode : enumeration

Définit la manière dont le format d'image d'une caméra présente dans la scène est calculé.

ConstanteDescription
Scene3D.AutomaticAspectRatioFormat d'image automatique.
Scene3D.UserAspectRatioFormat d'image défini par l'utilisateur.

compositingMode : enumeration

ConstanteDescription
FBOLa scène est rendue dans un objet de tampon de trame (Frame Buffer Object), ce qui peut s’avérer coûteux sur certaines plateformes et certains matériels, mais offre une plus grande flexibilité. Format d'image automatique. C'est le mode de composition à choisir si votre élément « Scene3D » ne doit pas occuper tout l'écran et si vous prévoyez éventuellement de le redimensionner ou de l'animer. Dans ce mode, la position de l'Scene3D e dans le fichier QML détermine son ordre d'empilement par rapport aux autres éléments « Qt Quick ».
UnderlayConvient aux scènes 3D en plein écran où l’utilisation d’un FBO pourrait être trop gourmande en ressources. ` Scene3D ` se comporte comme un calque sous-jacent de ` QtQuick `. Veuillez noter que lorsque vous utilisez ce mode, la taille de l’` Scene3D ` et ses transformations sont ignorées, et le rendu occupera tout l’écran. La position de l’` Scene3D ` dans le fichier QML n’aura pas non plus d’effet. Le contenu de ` Qt 3D ` sera dessiné avant tout contenu de ` Qt Quick `. Il faut veiller à ne pas dessiner par-dessus et masquer le contenu de ` Qt 3D ` en superposant le contenu de ` Qt Quick `. De plus, lorsque ce mode est utilisé, la propriété `clearBeforeRendering` de la fenêtre sera automatiquement définie sur `false`.

La valeur par défaut est « FBO ».

entity : Entity [default]

L'entité racine de la scène 3D à afficher.

hoverEnabled : bool

true si les événements de survol sont pris en charge.

multisample : bool

true si un tampon de rendu multi-échantillonnage est demandé.

Par défaut, le multisampling est activé. Si l'implémentation OpenGL ne prend pas en charge les tampons de rendu multisample ou les transferts de tampon d'image, la demande d'utilisation du multisampling est ignorée.

Remarque : évitez de modifier cette valeur trop fréquemment, car cela implique une initialisation coûteuse et potentiellement lente des tampons d'image et d'autres ressources OpenGL.

Documentation de la méthode

void setItemAreaAndDevicePixelRatio(size area, real devicePixelRatio)

Définit la zone de l'élément sur area et le rapport de pixels sur 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.