Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9297

[Unity] 画面キャプチャをドライブにアップロードする

$
0
0
概要 Unityエディタ上で画面をキャプチャして、それをファイル出力せずドライブにアップロードする 経緯 UI実装してデザイナーに確認する度にキャプチャをとることが増え、多少なりとも自動化できないかと思い至った 実装 GASでウェブアプリ作ってそれを叩くだけ function doPost(e) { var json = JSON.parse(e.postData.contents); var folder = DriveApp.getFolderById(json.folderId); var blob = Utilities.newBlob(json.data, json.mime, json.fileName); folder.createFile(blob); var text = "upload succeeded"; var output = ContentService.createTextOutput(text); output.setMimeType(ContentService.MimeType.TEXT); return output; } IEnumerator Co(string gasId, string folderId, Action<string> callback) { yield return new WaitForEndOfFrame(); var texture = ScreenCapture.CaptureScreenshotAsTexture(); var data = new PostData { folderId = folderId, fileName = DateTime.Now.ToString("yyyy/MM/dd/HH:mm:ss") + ".png", mime = "image/png", data = texture.EncodeToPNG(), }; var request = new UnityWebRequest( $"https://script.google.com/macros/s/{gasId}/exec", UnityWebRequest.kHttpVerbPOST, new DownloadHandlerBuffer(), new UploadHandlerRaw(Encoding.UTF8.GetBytes(JsonUtility.ToJson(data))) ); yield return request.SendWebRequest(); try { callback(request.downloadHandler.text); } catch (Exception e) { Debug.LogError(e); } } 何番煎じか分からないがとりあえず備忘録的な感じで 加えて細かい設定ができるようにエディタウィンドウ実装したり、フック作って通知したり

Viewing all articles
Browse latest Browse all 9297

Trending Articles