Unity何も分からん

UnityでVTuberシステムの開発したり、ゲーム作ったりしてて学んだことを書いていく予定

【Unity】UnityRecorderで画面のスクショを撮る(Script不要、透過・連番・グリーンバック可能、解像度自由)

環境
Unity 2021.3.3f1
UnityRecorder 3.0.3

できたもの

今回やりたかったこと

  • Scriptを使わずにスクショを撮りたい
  • Game画面のサイズに合わせた画像が欲しい
  • 透過画像も撮りたい

いくつかプロジェクトがありそれぞれでScreenShot撮りたい場合、ScriptやPrefabをコピペするのがめんどくさくてこの方法を使ってました

手順

シーンの設定

Cameraの設定

  • ClearFlags: SolidColor
  • BackGround Alpha: 0
    背景の色を決めているのでグリーンバックにしたければ #00FF00 にしつつAlphaを255にすると良いです

撮りたいオブジェクトを配置

今回はLive2D公式のSampleキャラクターを配置してます

UnityRecorderの設定

UnityRecorderをInstallする

Window/PackageManager」のUnityRegistryにあります

Recorder画面の設定

Recorderを追加

「Window/General/Recorder/RecorderWindow」でWindowを開き
AddRecorderからImageSequenceを選択します

設定

  • FrameRate

    • TargetFPS: Custom
    • Value: 1
      → 1秒間に何回スクショを撮るかの設定なので、連番画像を撮りたい場合は30や60、29.97などにすると良いです)
  • Capture

    • Source: GameView
    • OutputResolution: MatchWindowSize
      → GameViewのSizeに合わせて撮る設定です、お好みで変えてください
      → GameViewのSizeを4Kなどにすればその通りの画像が書き出せます
  • Format

    • MediaFileFormat: PNG
      JPEGは透過画像に対応していないのでPNGにしています、透過にしないならJPEGでもOKです
  • OutputFile
    スクショが置かれる場所とファイル名などが設定できます、お好みで

    ここを押すと画像の保存先が開けるので便利です

撮影する

「START RECORDING」を押すとUnityがPlayされます
録画が開始され1秒ごとに1枚写真が撮られるので必要な画像が撮れたか確認したければ「STOP RECORDING」
止めてよければUnityのSTOPをします

OutputFileの対象ディレクトリにこのように画像群が保存されているので必要なものだけ残して削除してOKです

完成

最初に載せた画像が撮れました、わーい