テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

高画質なスクリーンショットを撮影する

端末のスクリーンショットを撮影する際、高画質なスクリーンショットを撮影したい場合もある。

そんな時はApplication.CaptureScreenshotの第二引数(superSize)に倍率を指定する。下のコードはスクリーンショットを倍にしたケース。

Application.CaptureScreenshot("image.png",2);

もし解像度を2048とか1024に近い値にしたい場合、以下のように指定する。

float max = Mathf.Max(Screen.widthScreen.height);
int scale = Mathf.RoundToInt( 2048max);
Application.CaptureScreenshot("image.png"scale);

サンプルコード

imagex.png image.png
 スクリーンショット 2014-06-07 13.43.47 スクリーンショット 2014-06-07 13.44.01
ちなみに、高解像度のRenderTextureを指定しそこから値を取得する方法もある。その場合、OnGUIは含まれないので注意。
サンプルコード