前提
Unityでアプリを作成しております。
ツイッターの機能をつけようと思っています。
何かを達成すれば用意していた画像に日づけが入りの画面が立ち上がるようにしたいです。
メインカメラとは別のサブカメラで撮影してResourcesフォルダに保存してからツイート出来るようにしたいのです。
下記スクリプトですとメインカメラでの画像を保存してしまいます。
Camera.currentを利用するのかなどいろいろ試したのですがゲームの外のカメラの扱いが調べてもわかりませんでした。
初歩的な質問とは思うのですがどのように対処すれば良いのかわからず困っております。
下記のコードですとメインカメラの青い映像が保存されます。
どなたかアドバイスなど頂けませんでしょうか?
実現したいこと
サブカメラで映るものを保存したい。
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using System.IO; 5using UnityEditor; 6using UnityEngine.UI; 7 8public class Button_1_画面取得_SC : MonoBehaviour 9{ 10 11 12 void Start() 13 { 14 Capture2(); 15 } 16 17 public void Capture2() 18 { 19 20 //*サイズを設定 21 var size = new Vector2Int((int)Handles.GetMainGameViewSize().x, (int)Handles.GetMainGameViewSize().y); 22 var render = new RenderTexture(size.x, size.y, 24); 23 24 var texture = new Texture2D(size.x, size.y, TextureFormat.RGB24, false); 25 26 var cemara = Camera.main; 27 //var cemara = Camera.currentl; ? 28 29 30 try 31 { 32 // カメラ画像を RenderTexture に描画 33 cemara.targetTexture = render; 34 cemara.Render(); 35 36 // RenderTexture の画像を読み取る 37 RenderTexture.active = render; 38 texture.ReadPixels(new Rect(0, 0, size.x, size.y), 0, 0); 39 texture.Apply(); 40 } 41 finally 42 { 43 cemara.targetTexture = null; 44 RenderTexture.active = null; 45 } 46 47 // PNG 画像としてファイル保存 // ファイルに保存 48 File.WriteAllBytes( 49 $"{Application.dataPath}/Resources/画像1.png", texture.EncodeToPNG()); 50 51 } 52}
メインカメラ
サブカメラ
補足情報(FW/ツールのバージョンなど)
Unity2019.4.31f1

回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。