Caméra de perspective (PerspectiveCamera)

Caméra de perspective (PerspectiveCamera)

Cette caméra utilise la projection en perspective (projection en perspective) pour la projection.

Ce mode de projection est utilisé pour simuler la scène vue par l'œil humain, et c'est le mode de projection le plus couramment utilisé dans le rendu de scènes 3D.

Exemple

var camera = new THREE.PerspectiveCamera( 45, width / height, 1, 1000 ); scene.add( camera );

Constructeur

PerspectiveCamera (fov: nombre, aspect: nombre, près: nombre, loin: nombre)

fov - angle de vue vertical de la caméra
aspect tronconique - le rapport hauteur / largeur du tronc de la caméra
proche - face proximale de la caméra
tronconique éloignée - vue de face distale du cône de la caméra

paramètres de la caméra définissent ensemble le tronc visuel (vue tronconique).

Les attributs

Voir sa classe de base Camera pour les attributs communs.
Veuillez noter qu'après la modification de la plupart des propriétés, vous devrez appeler .updateProjectionMatrix pour que ces modifications prennent effet.

. aspect  : Flottant

Le rapport hauteur / largeur du tronc de la caméra est généralement la largeur de la toile / la hauteur de la toile. La valeur par défaut est 1 (canevas carré).

. loin  : Float

À l'extrémité de la caméra, la valeur par défaut est 2000 .

La plage de valeurs effectives est comprise entre la valeur du plan proche de la caméra actuelle (plan proche de l'extrémité) et l'infini.

. filmGauge  : Float

Taille du film, sa valeur par défaut est 35 (mm). Ce paramètre n'affecte pas la matrice de projection de la caméra, sauf si .filmOffset est défini sur une valeur différente de zéro.

. filmOffset  : Float

Le décalage horizontal par rapport au centre est le même que l'unité de .filmGauge. La valeur par défaut est 0 .

. focus  : Float

La distance des objets utilisés pour la vision stéréo et les effets de profondeur de champ. Ce paramètre n'affecte pas la matrice de projection de la caméra, sauf si StereoCamera est utilisé. La valeur par défaut est 10 .

. fov  : flotteur

L'angle de vue vertical du tronc de caméra, du bas vers le haut de la vue, exprimé en degrés. La valeur par défaut est 50 .

. isPerspectiveCamera  : Booléen

Utilisé pour tester si cette classe ou classe dérivée est PerspectiveCameras, la valeur par défaut est true.

Vous ne devez pas modifier cet attribut car il est utilisé en interne par le moteur de rendu pour l'optimisation.

. à proximité  : Float

L'extrémité proche de la caméra, la valeur par défaut est 0,1 .

La plage valide va de 0 à la valeur du plan éloigné de la caméra actuelle. Veuillez noter que, contrairement à OrthographicCamera, 0 n'est pas une valeur valide pour la face proximale de PerspectiveCamera .

. vue  : Objet

Spécification de la fenêtre Frustum ou null. Cette valeur est définie à l'aide de la méthode .setViewOffset et effacée à l'aide de la méthode .clearViewOffset.

. zoom  : nombre

Obtient ou définit le facteur de zoom de la caméra, la valeur par défaut est 1 .

méthode

Pour les méthodes courantes, veuillez vous référer à sa classe de base Camera.

. clearViewOffset  (): null

Effacez tout décalage défini par .setViewOffset.

. getEffectiveFOV  (): Float

Combiné avec .zoom (zoom multiple), renvoie l'angle de vue vertical actuel en angle.

. getFilmHeight  (): Flottant

Renvoie la hauteur de l'image sur le film en cours. Si .aspect est inférieur ou égal à 1 (format portrait, composition portrait), le résultat est égal à .filmGauge.

. getFilmWidth  (): Float

Renvoie la largeur de l'image sur le film en cours. Si .aspect est supérieur ou égal à 1 (format paysage, composition paysage), le résultat est égal à .filmGauge.

. getFocalLength  (): Float

Renvoie la distance focale actuelle de .fov (angle de vue) par rapport à .filmGauge (taille du film).

. setFocalLength  (focalLength: Float): null

Réglez le FOV par rapport à la distance focale du .filmGauge actuel.

Par défaut, la distance focale est spécifiée pour un appareil photo 35 mm (plein format).

. setViewOffset  (fullWidth: Float, fullHeight: Float, x: Float, y: Float, width: Float, height: Float): null

fullWidth - réglage pleine largeur de
multi-vues fullHeight - réglage pleine hauteur de multi-vues
x - décalage horizontal de la
caméra secondaire y - décalage vertical de la
largeur de la caméra secondaire - largeur de la
hauteur de la caméra secondaire - hauteur de la caméra secondaire

Le réglage du décalage dans le cadre de visualisation le plus grand est utile pour les paramètres multi-fenêtres ou multi-écrans.

Par exemple, si vous avez un tableau d'affichage 3x2, chaque écran a une résolution de 1 920 x 1 080 et ces écrans sont disposés dans une grille comme celle-ci:

+ --- + --- + --- + 
| A | B | C | 
+ --- + --- + --- + 
| D | E | F | 
+ --- + --- + --- +
		

Pour chaque moniteur, vous pouvez le définir et l'appeler comme ceci:
var w = 1920; var h = 1080; var fullWidth = w * 3; var fullHeight = h * 2; // A camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 0, w, h ); // B camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 0, w, h ); // C camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 0, w, h ); // D camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 1, w, h ); // E camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 1, w, h ); // F camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h );Veuillez noter que les moniteurs ne doivent pas nécessairement être de la même taille ou dans une grille.

 

. updateProjectionMatrix  (): null

Mettez à jour la matrice de projection de la caméra. Doit être appelé après la modification d'un paramètre.

. toJSON  (meta: object): Objet

meta - un objet qui contient des métadonnées, telles que des textures ou des images dans les descendants de l'objet.
Convertissez la caméra au format  objet / scène JSON three.js ( format objet / scène JSON three.js).

Je suppose que tu aimes

Origine blog.csdn.net/liuhao9999/article/details/110875334
conseillé
Classement