KITASENJU DESIGN BLOG

memo, html, javascript, unity

capture images with for loop

画像をforループでいっぱいキャプチャする

文字をRenderTextureにキャプチャしたくて _camera.Renderをforループで回したらいけた

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;

public class TextsCapture : MonoBehaviour
{

    [SerializeField] private Camera _camera;
    [SerializeField] private TMPro.TextMeshPro _text;

    private RenderTexture[] _renderTextures;
    
    private int _index = 0;
    // Start is called before the first frame update
    void Start()
    {
        _renderTextures = new RenderTexture[30];
        for(int i=0;i<30;i++){
            _renderTextures[i] = new RenderTexture(1024,256,0);

            _text.text = "" + i;
            _camera.targetTexture =  _renderTextures[i];
            _camera.Render();

        }

    }

    private void OnGUI(){
    
        GUI.DrawTexture(
            new Rect(520, 700, 240, 200), _renderTextures[_index%_renderTextures.Length], ScaleMode.StretchToFill
        );
        _index++;


    }

    // Update is called once per frame
    void Update()
    {
        
    }

}

"FOOTER"