この記事でのバージョン
Unity 2019.4.14f1
Steam VR Plugin 2.6.1 (sdk 1.13.10)
はじめに
UnityでSteam向けのVRゲームを開発する際は、
SteamVR Pluginというアセットを使うのが一般的ですが、
SteamVR Plugin | Integration | Unity Asset Store |
今回はそのSteamVR Pluginを使って、
シーン遷移時等で使うカメラのフェードを超簡単に実装してみようという記事。
イメージとしては以下のような感じ。
ただし、カメラが複数あると正常に機能しない点には注意が必要です。
(複数でもフェードはするがちょっと汚い感じになる)
ちなみにSteamVR Pluginの導入は済んでいる前提なので、あしからず。
なお、SteamVR Pluginの導入については以下の記事を参照の事。
Steam VR_Camera
まず、CameraにSteam VR_Fadeというコンポーネントを追加します。
なんと後はSteamVR_FadeのStartを使うだけでフェードが行えます。
なお、第1引数でフェードする色、第2引数でフェード時間を指定します。
(一瞬で切り替えたい場合はフェード時間を0にする)
using Valve.VR;//SteamVR_Fadeを使うのに必要
//2秒で真っ黒にする(黒でフェードアウト) SteamVR_Fade.Start(new Color(0, 0, 0, 1), 2);
もちろん黒以外にフェードアウトする事も可能です。
//2秒で真っ白にする(白にフェードアウト) SteamVR_Fade.Start(new Color(1, 1, 1, 1), 2);
また、フェードインしたい場合は不透明度(α)を0にします。
//2秒でフェードの色を消す(フェードイン) SteamVR_Fade.Start(new Color(0, 0, 0, 0), 2);