夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

MixedRealityGraphicsToolsでUnityのスクリーンショットを撮影する。

本日はMRGT機能調査枠です。

〇MRGTとは?

MixedRealityGraphicsTools(MRGT)はHoloLensやMetaQuestをはじめとしてxRアプリケーション開発に役立つツールキットであるMixedRealityToolkitの最新版MRTK3で提供されるパッケージの一つで、グラフィックの機能がまとめて提供されています。

github.com

〇スクリーンショットをとる

Unityでは様々な方法でスクリーンショットを撮影することができます。

 例えば、[Windows]キー+[Shift]キー+[S]キーを押すことで、WindowsのOSで提供されているスクリーンショットを撮影することができます。

 しかし多くの場合スクリーンショットは描画しているPCの解像度に依存しています。

 MRGTで提供されているスクリーンショット撮影機能ではUnityのカメラの解像度のまま撮影を行うことができます。

スクリーンショットを撮影するためにはUnityワールドメニューの[Window]から[Graphics Tools]→[Take Screenshot]を選択します。

ここでオプションを選択し、撮影を行うことができます。

〇Native Resolution(そのままの解像度)

解像度を上げることはなくそのままのカメラのままの解像度で撮影する方法です。

2x,4xのオプションを選択することで解像度を上げることができます。

〇Native Resolution(Transparent Background) (そのままの解像度(透明な背景))

 このオプションでは背景がα値でくりぬかれ、オブジェクトのみが映るPng画像を作成できます。

 ウェブページなどで使用するような画像も撮影できます。

2x,4xのオプションを選択することで解像度を上げることができます。

〇スクリーンショットの保存

 デフォルトでは撮影時にスクリーンショットが保存された階層のフォルダが開きます。

Unityの環境によっても変わる可能性はありますが、筆者の環境の場合

C:\Users(ユーザー名)\AppData\Local\Temp\DefaultCompany(プロジェクト名) に保存されました。

通常のスクショ撮影自体はWindowsのショートカットでもよさそうと思っていましたが、切り抜き画像や解像度などUnityのシーンに合わせて撮影できる点がよさそうです。

APIも提供されているようなのでアプリ内でも実装することができる可能性があります。

このあたりもいずれ調査していきます。

本日は以上です。