web-dev-qa-db-fra.com

Contexte de MainCamera (Unity C #)

J'écris un jeu de coureur simple

J'ai la caméra principale et l'image. Je veux définir cette image comme arrière-plan de l'appareil photo principal.

Écran de mon appareil photo principal Main Camera

9
user5677145

Vous pouvez le faire en utilisant un Skybox, ou vous pouvez utiliser un GUI Texture.

Voici comment je l'ai fait quelque temps auparavant:

  1. Créez une nouvelle caméra (GameObject -> Créer une autre -> Caméra) et nommez-la "Caméra d'arrière-plan".

  2. Créez une nouvelle texture GUI (GameObject -> Créer une autre -> Texture GUI) et nommez-la "Image d'arrière-plan".

  3. Cliquez sur le menu déroulant "Calque" dans le volet d'inspection de l'image d'arrière-plan, puis sélectionnez "Ajouter un calque".

  4. Dans le prochain emplacement libre "Couche utilisateur", créez un nouveau nom de couche appelé "Image d'arrière-plan". Ce sera directement sous la couche nommée "Terrain" si vous n'en avez pas encore ajouté d'autres.

  5. Sélectionnez votre image d'arrière-plan dans la hiérarchie, donnez-lui la texture souhaitée et réglez les x, y, la largeur et la hauteur sous "Pixel Inset" afin qu'elle remplisse correctement l'écran.

  6. Près du haut de la fenêtre de l'inspecteur, utilisez le menu déroulant des calques pour affecter votre calque "Image d'arrière-plan" que vous avez défini précédemment à cet objet de jeu.

Sélectionnez maintenant votre caméra d'arrière-plan dans la hiérarchie et ajustez ces paramètres dans l'inspecteur:

  1. Décochez Flare Layer et Audio Listener (mais laissez GUILayer activé)

  2. Définir les drapeaux clairs sur Couleur unie

  3. Définissez la profondeur sur -1

  4. Réglez le Masque de réforme, d'abord sur "Rien", puis sur "Image d'arrière-plan"

Maintenant, sélectionnez votre autre appareil photo (principal), et dans l'inspecteur:

  1. Réglez ses indicateurs clairs sur "Profondeur uniquement"

  2. Cliquez sur son paramètre de masque d'abattage et décochez "Image d'arrière-plan". Cela devrait entraîner l'affichage du masque de tri comme "Mixte ..."

Voila, cela devrait vous donner votre texture GUI rendue par votre caméra d'arrière-plan, derrière tout le reste rendu par votre caméra principale. Et pour toutes les autres caméras supplémentaires (par exemple, d'autres angles de caméra) que vous souhaitez utiliser, répétez simplement les deux dernières étapes sur elles.

6
Markiian Benovskyi

cette autre réponse semble tellement dépassée. Je pensais partager quelque chose de nouveau. Tout simplement:

  • Faites un clic droit sur votre appareil photo principal, sélectionnez I -> Image.
  • Sélectionnez votre image et sur la petite case dans Rect Transform où il est dit "stretch" et "stretch" , cliquez sur cette case. Maintenant, un menu apparaîtra avec un tas de boîtes supplémentaires. Maintenez ALT et sélectionnez la case la plus éloignée ** en bas à droite **. Ceci est la boîte avec les flèches bleues pointant dans toutes les directions.

Maintenant, vous avez adapté votre image à votre toile. En plus de cela, vous devrez adapter votre toile à votre appareil photo.

  • Sélectionnez votre toile. Dans l'inspecteur Canvas, recherchez un composant appelé Canvas . Modifiez le mode de rendu sur Espace d'écran - Caméra. Maintenant, il vous demandera une caméra dans la case Render Camera . Faites simplement glisser votre caméra principale vers la caméra de rendu et le tour est joué, vous avez maintenant un arrière-plan rempli d'écran sans ayant 2 caméras lmao :)

Edit: N'oubliez pas de désactiver Raycasting pour l'image et la toile!

3
sansa

Unity est livré avec une fonctionnalité skybox que vous pouvez utiliser pour créer un arrière-plan. Cela peut prendre un peu de remodelage, mais vous devriez être en mesure d'atteindre l'effet souhaité avec le tutoriel ici .

2
Chris