le composant Camera

Les caméras sont les appareils qui capturent et affichent le monde au joueur. En personnalisant et en manipulant des caméras, vous pouvez rendre la présentation de votre jeu vraiment unique. Vous pouvez avoir un nombre illimité de caméras dans une scène. Elles peuvent être configurées pour être rendus dans n'importe quel ordre, n'importe quand sur l'écran, ou seulement certaines parties de l'écran.

Inspecteur de la caméra
Inspecteur de la caméra.

Propriétés

PropriétéFonction
Clear FlagsDétermine quelles parties de l'écran seront effacées. Ceci est pratique lors de l'utilisation de caméras multiples pour dessiner différents éléments de jeu.
BackgroundLa couleur appliquée à l'écran restant après que tous les éléments en vue ont été dessinés et qu'il n'y a pas de skybox.
Culling MaskComprend ou omet des couches d'objets à rendre par la caméra. Affecte les calques à vos objets dans l'inspecteur.
ProjectionActive la capacité de la caméra à simuler la perspective.
      PerspectiveLa caméra rendra les objets avec une perspective intacte.
      OrthographicLa caméra rendra les objets uniformément, sans aucun sens de perspective. REMARQUE: le rendu différé n'est pas pris en charge en mode orthographique. Le rendu direct est toujours utilisé.
Size (Lorsque Orthographic est sélectionné)La taille de la fenêtre de la caméra lorsqu'elle est réglée sur orthographique.
Field of view (Lorsque Perspective est sélectionné)La largeur de l'angle de vue des caméras, mesurée en degrés le long de l'axe Y local.
Clipping PlanesDistances de la caméra pour démarrer et arrêter le rendu.
      NearLe point le plus proche par rapport à la caméra.
      FarLe point le plus éloigné par rapport à la caméra.
Viewport RectQuatre valeurs qui indiquent où, à l'écran, cette vue de caméra sera affichée.
      XLe début de la position horizontale de la vue de la caméra.
      YLe début de la position verticale de la vue de la caméra.
      W (Largeur)Largeur de la sortie de la caméra sur l'écran.
      H (Hauteur)Hauteur de la sortie de la caméra sur l'écran.
DepthLa position de la caméra dans l'ordre de tirage. Les caméras avec une plus grande valeur seront affichées sur les caméras avec une valeur plus petite.
Rendering PathOptions pour définir les méthodes de rendu utilisées par la caméra.
      Use Player SettingsCette caméra utilisera le chemin de rendu (Rendering Path) sélectionné dans les paramètres du Player.
      Vertex LitTous les objets rendus par cette caméra seront représentés sous forme d'objets Vertex-Lit.
      ForwardTous les objets seront rendus avec un passage par matériel.
      Deferred LightingTous les objets seront affichés une fois sans éclairage, puis l'éclairage de tous les objets sera rendu ensemble à la fin de la file d'attente de rendu. REMARQUE: si le mode de projection de la caméra est réglé sur Orthographic, cette valeur est annulée et la caméra utilisera toujours le rendu Forward.
Target TextureRéférence à une texture de rendu qui contiendra la sortie de la vue de la caméra. Le réglage de cette référence désactive la capacité de la caméra à rendre à l'écran.
HDRActive le rendu de la gamme dynamique élevée (High Dynamic Range) pour cette caméra.
Target DisplayDéfinit le périphérique externe à rendre. Entre 1 et 8.

Détails

Les caméras sont essentielles pour afficher votre jeu au joueur. Elles peuvent être personnalisées, scénarisées ou parentées pour réaliser à peu près n'importe quel type d'effet imaginable. Pour un jeu de puzzle, vous pouvez garder la caméra statique pour une vue complète du puzzle. Pour un shooter à la première personne, vous devez parenter la caméra au joueur, et placez-la au niveau des yeux du personnage. Pour un jeu de course, il est probable que la caméra suivra le véhicule de votre joueur.

Vous pouvez créer plusieurs caméras et affecter chacune à une profondeur différente (Depth). Les caméras sont affichées de faible profondeur à haute profondeur. En d'autres termes, une caméra avec une profondeur de 2 sera affichée au dessus d'une caméra avec une profondeur de 1. Vous pouvez ajuster les valeurs de la propriéte Normalized View Port Rectangle pour redimensionner et positionner la vue de la caméra à l'écran. Cela peut créer plusieurs mini-vues comme les caméras de missiles, les vues de carte, les rétroviseurs, etc.

Tracé de rendu

Unity prend en charge différents tracés de rendu. Vous devez choisir celui que vous utilisez en fonction de votre contenu de jeu et la plate-forme cible/matériel. Différents tracés de rendu ont différentes caractéristiques et caractéristiques de performance qui affectent principalement les lumières et les ombres. Le tracé de rendu utilisé par votre projet est sélectionné dans les paramètres du Player Settings. En outre, vous pouvez le remplacer par chaque caméra.

Clear Flags

Chaque caméra stocke des informations de couleur et de profondeur lorsqu'elle affiche sa vue. Les portions de l'écran qui ne sont pas dessinées sont vides et affichent le skybox par défaut. Lorsque vous utilisez plusieurs caméras, chacune stocke ses propres informations de couleur et de profondeur dans des mémoires tampons, cumulant plus de données que chaque caméra restitue. Comme toute caméra particulière de votre scène, vous pouvez définir Clear Flags pour effacer différentes collections de l'information du tampon. Pour ce faire, choisissez l'une des quatre options suivantes:

Skybox

C'est le paramètre par défaut. Toutes les portions vides de l'écran affichent la skybox de la caméra actuelle. Si la caméra actuelle n'a pas de skybox, elle sera par défaut le skybox choisi dans la fenêtre d'éclairage Window > Lighting. Elle se repliera ensuite à la couleur d'arrière-plan. Alternativement, un composant skybox peut être ajouté à la caméra. Si vous voulez créer un nouveau skybox, vous pouvez utiliser ce guide.

Solid color

Toutes les portions vides de l'écran afficheront la couleur d'arrière-plan de la caméra actuelle.

Depth only

Si vous voulez afficher un pistolet d'un joueur sans le laisser entrer dans l'environnement, définissez une caméra en profondeur 0 pour afficher l'environnement, et une autre caméra en profondeur 1 pour afficher l'arme seule. Réglez les Clear Flags de la caméra uniquement en profondeur (depth only). Cela gardera l'affichage graphique de l'environnement sur l'écran, mais ignorera toutes les informations sur l'endroit où chaque objet existe dans l'espace 3D.

Le pistolet est affiché en dernier, après avoir nettoyé le tampon de profondeur des caméras
Le pistolet est affiché en dernier, après avoir nettoyé le tampon de profondeur des caméras.

Don’t clear

Ce mode n'efface ni la couleur ni la mémoire tampon de profondeur. Le résultat est que chaque cadre est affiché au cours de la prochaine, ce qui entraîne un effet de frottis. Ce n'est généralement pas utilisé dans les jeux, et serait plus probablement utilisé avec un shader personnalisé.

Notez que sur certains GPU (principalement des GPU mobiles), ne pas effacer l'écran peut entraîner le contenu indéfini de celui-ci dans le cadre suivant. Sur certains systèmes, l'écran peut contenir l'image de l'image précédente, un écran noir solide ou des pixels colorés aléatoires.

Clip Planes

Les propriétés du Clip Plane proche et lointain déterminent où la vue de la caméra commence et se termine. Les plans sont disposés perpendiculairement à la direction de la caméra et sont mesurés à partir de sa position. Le Near plane est l'endroit le plus proche qui sera rendu, et le Far plane est le plus éloigné.

Les plans d'écrêtage (clipping planes) déterminent également comment la précision du tampon de profondeur est distribuée sur la scène. En général, pour obtenir une meilleure précision, vous devez déplacer le Near plane dans la mesure du possible.

Notez que les Near plane et Far plane ainsi que les plans définis par le champ de vision de la caméra décrivent ce qui est populairement connu sous le nom de frustum. Unity garantit que lorsque vous rendez vos objets ceux qui sont complètement en dehors de ce frustum ne sont pas affichés. C'est ce qu'on appelle le Frustum Culling. Le Frustum Culling se produit indépendamment du fait que vous utilisez l'Occlusion Culling dans votre jeu.

Pour des raisons de performances, il est possible que vous souhaitiez affiché des petits objets avant. Par exemple, les petites roches et les débris pourraient être rendus invisibles à des distances beaucoup plus petites que les grands bâtiments. Pour cela, mettez de petits objets dans un calque séparé et paramétrez les distances d'abattage par couche à l'aide de la fonction de script Camera.layerCullDistances.

Culling Mask

Le Culling Mask est utilisé pour restituer sélectivement des groupes d'objets à l'aide de calques.

Rectangles de visualisation normalisés

Le rectangle de visualisation normalisé (Normalized Viewport Rectangle) définit spécifiquement une partie de l'écran sur laquelle la vue de caméra actuelle sera utilisée. Vous pouvez mettre une vue cartographique dans le coin inférieur droit de l'écran, ou une vue de pointe de missile dans le coin supérieur gauche. Avec un peu de travail de conception, vous pouvez utiliser le rectangle de fenêtre pour créer des comportements uniques.

Il est facile de créer un effet d'écran divisé à deux joueurs en utilisant un rectangle de visualisation normalisé. Après avoir créé vos deux caméras, modifiez les valeurs H de la caméra à 0,5 puis réglez la valeur Y du joueur à 0,5 et la valeur Y du second joueur à 0. Cela rendra l'affichage de la caméra du joueur de la moitié de l'écran vers le haut, et la caméra du second joueur commence en bas et s'arrête à mi-hauteur de l'écran.

Affichage à deux joueurs créé avec la propriété Rectangle de visualisation normalisée
Affichage à deux joueurs créé avec la propriété Rectangle de visualisation normalisée.

Orthographique

Le marquage d'une caméra comme orthographique supprime toutes les perspectives de la vue de la caméra. Ceci est surtout utile pour faire des jeux isométriques ou 2D.

Notez que le brouillard est rendu uniformément en mode de caméra orthographique et peut donc ne pas apparaître comme prévu. C'est parce que la coordonnée Z de l'espace post-perspective est utilisée pour la "profondeur" du brouillard. Ceci n'est pas strictement précis pour une caméra orthographique, mais il est utilisé pour ses avantages de performance pendant le rendu.

Caméra perspective
Caméra perspective.
Caméra orthographique
Caméra orthographique. Les objets ne sont pas plus petits avec la distance ici !

Texture de rendu

Cela place la vue de la caméra sur une texture qui peut ensuite être appliquée à un autre objet. Cela facilite la création de moniteurs vidéo d'arènes sportives, caméras de surveillance, réflexions, etc...

Une texture de rendu utilisée pour créer un Live Arena-Cam
Une texture de rendu utilisée pour créer un Live Arena-Cam.

Target display

Une caméra dispose de 8 paramètres d'affichage. La caméra peut être contrôlée pour s'afficher sur un maximum de 8 moniteurs. Ceci est pris en charge uniquement sur PC, Mac et Linux. Dans la vue du jeu, l'affichage choisi dans l'inspecteur de la caméra sera affiché.

Conseils

  • Les caméras peuvent être instanciées, parentées et scénarisées comme n'importe quel autre GameObject.
  • Pour augmenter le sens de la vitesse dans un jeu de course, utilisez un Field of View élevé.
  • Les caméras peuvent être utilisées en simulation physique si vous ajoutez un composant RigidBody.
  • Il n'y a pas de limite au nombre de caméras que vous pouvez avoir dans vos scènes.
  • Les caméras orthographiques sont idéales pour faire des interfaces utilisateur en 3D.
  • Si vous rencontrez des surfaces proches les unes des autres et qui vacillent, essayez de régler Near Plane le plus large possible
  • Les caméras ne peuvent pas être rendues simultanément sur l'écran de jeu et sur une texture de rendu, seulement l'une ou l'autre.
  • Il existe une possibilité de rendre la vue d'une caméra sur une texture, appelée Render-to-Texture, pour des effets encore plus intéressants.
  • Unity est livré avec des scripts de caméra pré-installés Components > Camera Control. Expérimentez-les pour avoir un aperçu de ce qui est possible.

les réactions

Pour laisser un avis, vous devez être inscrit et connecté

Se connecter