Sur cette page

Camera QML Type

Définit une base abstraite pour les caméras. Plus d'informations...

Import Statement: import QtQuick3D
Inherits:

Node

Inherited By:

CustomCamera, FrustumCamera, OrthographicCamera, and PerspectiveCamera

Propriétés

Méthodes

Description détaillée

Une caméra définit la manière dont le contenu de la scène 3D est projeté sur une surface 2D, telle que View3D. Une scène nécessite au moins une caméra afin de visualiser son contenu.

Il est possible de positionner et de faire pivoter la caméra comme n'importe quel autre élément spatial Node dans la scène. L'emplacement et l'orientation de Node déterminent la position de la caméra dans la scène et la direction à laquelle elle fait face. Dans l'orientation par défaut de la caméra, le vecteur avant pointe le long de l'axe Z négatif et le vecteur haut le long de l'axe Y positif.

Avec la position et l'orientation, le frustum définit les parties de la scène visibles par la caméra et la manière dont elles sont projetées sur la surface 2D. Les différents sous-types de caméra offrent plusieurs options pour déterminer la forme du frustum de la caméra.

  • PerspectiveCamera fournit une caméra avec un frustum en forme de pyramide, où les objets sont projetés de telle sorte que ceux qui sont plus éloignés de la caméra apparaissent plus petits. Il s'agit du type de caméra le plus couramment utilisé, qui correspond au fonctionnement de la plupart des caméras du monde réel.
  • OrthographicCamera La caméra à tronc commun est une caméra dont les lignes du tronc commun sont parallèles, ce qui fait que l'échelle perçue d'un objet n'est pas affectée par la distance qui le sépare de la caméra. Les applications de CAO (conception assistée par ordinateur) et la cartographie sont des cas d'utilisation typiques de ce type de caméra.
  • FrustumCamera est un type de caméra perspective dont le tronc peut être librement personnalisé par les coordonnées de son intersection avec le plan proche. Ce type de caméra peut s'avérer utile si l'on a besoin d'un frustum asymétrique.
  • CustomCamera est un type de caméra où la matrice de projection peut être librement personnalisée, et peut être utile pour les utilisateurs avancés qui souhaitent calculer leur propre matrice de projection.

Pour illustrer la différence, ces captures d'écran montrent la même scène projetée par une caméra PerspectiveCamera et une caméra OrthographicCamera. Remarquez que la boîte rouge est plus petite que la boîte verte dans l'image rendue à l'aide de la projection en perspective.

Caméra en perspectiveCaméra orthographique

Vue de la caméra en perspective de la plaque

Vue orthographique de la plaque

Voir également Qt Quick 3D - Exemple View3D.

Documentation sur les propriétés

frustumCullingEnabled : bool

Lorsque cette propriété est définie sur true, les objets situés en dehors du frustum de la caméra sont éliminés, ce qui signifie qu'ils ne sont pas transmis au moteur de rendu. Par défaut, cette propriété est définie sur false. Pour les scènes où tous les objets, ou la plupart d'entre eux, se trouvent à l'intérieur du frustum de la caméra, l'élimination du frustum est un surcoût inutile en termes de performances. Mais pour les scènes complexes où de grandes parties sont situées en dehors de la vue de la caméra, l'activation du frustum culling peut améliorer les performances.

levelOfDetailBias : real [since 6.5]

Cette propriété modifie la taille que doit avoir un modèle lors du rendu avant que les maillages de niveau de détail automatiques ne soient utilisés. Chaque maille de niveau de détail générée contient une valeur de taille idéale pour chaque niveau, qui correspond à la proportion de la scène rendue que représente cette maille. Un modèle qui ne représente que quelques pixels à l'écran n'aura pas besoin de la géométrie complète pour avoir un aspect correct, de sorte qu'un maillage de niveau de détail inférieur sera utilisé dans ce cas. Cette valeur est un biais par rapport à la valeur idéale, de sorte qu'une valeur inférieure à 1.0 nécessitera un rendu encore plus petit avant de passer à un niveau de détail inférieur. Les valeurs supérieures à 1.0 permettront d'utiliser plus rapidement des niveaux de détail inférieurs. Une valeur de 0.0 désactive complètement l'utilisation des niveaux de détail.

La valeur par défaut est 1.0

Remarque : cette propriété n'a d'effet que sur les modèles dont la géométrie contient des niveaux de détail.

Cette propriété a été introduite dans Qt 6.5.

Voir aussi Model::levelOfDetailBias.

lookAtNode : Node

Si cette propriété est définie sur une valeur non-null, la rotation de cette caméra est automatiquement mise à jour de sorte que cette caméra continue à regarder le nœud spécifié chaque fois que la position de la scène de cette caméra ou du nœud spécifié change. Par défaut, cette propriété est définie sur null.

Voir également lookAt.

Documentation de la méthode

vector3d lookAt(QtQuick3D::Node node)

Définit la valeur de rotation de la caméra de manière à ce qu'elle soit orientée vers node.

vector3d lookAt(vector3d scenePos)

Définit la valeur de rotation de la caméra de manière à ce qu'elle soit orientée vers scenePos.

vector3d mapFromViewport(vector3d viewportPos)

Transforme viewportPos de l'espace de la fenêtre de visualisation (2D) en espace de la scène globale (3D).

Les valeurs x et y de viewportPos doivent être normalisées, avec le haut-gauche de la fenêtre de visualisation à [0, 0] et le bas-droit à [1, 1]. La valeur z est interprétée comme la distance par rapport au plan de clip le plus proche du frustum (clipNear).

Si viewportPos ne peut pas être mis en correspondance avec une position dans la scène, une position de [0, 0, 0] est renvoyée.

Voir également mapToViewport et View3D.mapTo3DScene().

vector3d mapToViewport(vector3d scenePos)

Transforme scenePos de l'espace global de la scène (3D) en espace de visualisation (2D).

La position renvoyée est normalisée, avec le haut-gauche de la fenêtre de visualisation à [0, 0] et le bas-droit à [1, 1]. La valeur z renvoyée contient la distance entre le plan de clip proche du frustum (clipNear) et scenePos en coordonnées de scène. Si la distance est négative, le point est derrière la caméra.

Si scenePos ne peut pas être mappé avec succès à une position dans la fenêtre, une position de [0, 0, 0] est renvoyée.

Voir également mapFromViewport() et View3D.mapFrom3DScene().

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