Utilisez RenderTexture dans Unity3D pour réaliser des captures d'écran dans le jeu

1  en utilisant System.Collections ;
2  en utilisant System.Collections.Generic ;
3  en utilisant System.IO ;
4  avec UnityEngine ;
5  
6  public  class截图 : MonoBehaviour {
 7  
8      private  void Update()
 9      {
 10          if (Input.GetKeyDown(KeyCode.S))
 11          {
 12              Debug.Log( " Save " );
13              Enregistrer();
14          }
 15      }
 16  
17     texture cible RenderTexture privée ;
18  
19      private  void OnRenderImage(source RenderTexture, destination RenderTexture)
 20      {
 21          TargetTexture = source;
22          Graphiques.Blit(source, destination);
23      }
 24  
25      private  void Save()
 26      {
 27          RenderTexture.active = TargetTexture;
28  
29          Texture2D png = new Texture2D(RenderTexture.active.width, RenderTexture.active.height, TextureFormat.ARGB32, true );
30          png.ReadPixels( new Rect( 0 , 0 , RenderTexture.active.width, RenderTexture.active.height), 0 , 0 );
31  
32          octets [] octets = png.EncodeToPNG();
33          chaîne chemin = chaîne .Format( @" D:\123.png " );
34          Fichier FileStream = File.Open(path, FileMode.Create);
35          BinaryWriter writer = new BinaryWriter(file);
36          écrivain. Écrire (octets);
37          fichier.Close();
38          écrivain.Close();
39  
40          Détruire(png);
41          png = nul ;
42          
43          Debug.Log( " Sauvegarder " );
44      }
 45 }

Fonction:

Cliquez sur S pour prendre une capture d'écran.

Ce script doit être monté sur la caméra.

OnRenderImage est un événement intégré de Unity, qui sera exécuté après le rendu de la scène par le GPU et avant le rendu à l'écran. Deux paramètres, l'un est l'image rendue par le GPU, et le second paramètre sera rendu à l'écran après l'appel de l'événement.

Cet événement peut être utilisé pour le traitement post-écran, mais nous l'utilisons ici pour intercepter l'image rendue, l'enregistrer puis la renvoyer.

Réimprimé dans : https://www.cnblogs.com/Yukisora/p/8885202.html

Je suppose que tu aimes

Origine blog.csdn.net/a1808508751/article/details/101353099
conseillé
Classement