既にアセットとかあるのだろうか?
ハコスコとかYoutubeみたいに360度映像を見るアプリをUnityで作りたい
360度動画流す
とりあえずUnityのSkyboxに360度動画を流す
動画をシーンにおいて、VideoPlayerのRenderModeをRenderTextureにする
RenderTextureを作って、Sizeを動画のサイズにする。あとNoDepthBufferにする
VideoPlayerのTargetTextureに作ったRenderTextureをセットする
新しいマテリアルを作り、ShaderをSkybox>Panoramicにして、RenderTextureをセット
LightingのSkyboxに今作ったSkyboxマテリアルをセット
これでいい感じにSkyboxに動画再生される
最初、動画が変に表示されてた気がするけど、Skyboxの設定とかいじってたら治った。(原因よくわからん)
2年前にやった時と違うのはSkyboxのシェーダーが最初から入っていることぐらい。
もっといいやり方とかあるのかな?
カメラの向きをジャイロ&ドラッグで動かす
GoogleVRの記事にスクリプトがある。そのまま使えた
ジャイロのあるスマホで実行したらYoutubeとかと同じようにちゃんと向いている向きに動いた。
ドラッグでもY軸回転だけはできた。
でも他の360度Viewerだと上下もドラッグで変えられるけど・・・
あとPCのマウスドラッグだと動かない
ジャイロでの変更だけならこちらとかもシンプル
Unityメモ – ジャイロでカメラを動かす方法ookumaneko.wordpress.com
Cardboard
上で参考にしたGoogleVRは古い
Cardboard for UnityのSDKがある
導入方法
Quickstart for Google Cardboard for Unity | Google Developers
PackageManagerにgitのURLを入れてダウンロード(はじめてやった!)
Import into Projectでサンプルシーンが入る
ただ、すぐに参考になりそうなスクリプトは見つけられなかった。zyroで検索しても出てこないよ~
カメラをマウスドラッグで動かす
マウスでカメラの角度を変えるのはこちらを参考にした
こちらでも良さそう
http://corevale.com/unity/2346
スマホかPCかで分けるのってどうやるんだろう?これでいいのかな?
#if UNITY_EDITOR || UNITY_STANDALONE
#if UNITY_ANDROID || UNITY_IOS
上のままだとうまくいかなかったのでこうした
#if UNITY_EDITOR || UNITY_STANDALONE
PC向け処理
#else
スマホ向け処理
#endif
ジャイロオフと正面向く
他の360度ビューワーアプリだとジャイロでの動きをオフにする機能と正面を向かせる機能があった
UI
マテリアルデザインからコンパスとスマホの回転アイコンをとってきた。
回転アイコンはそういう回転じゃない!って感じだけど一番近いのがこれだったからとりあえず。
ジャイロがスマホアイコン、正面向くのがコンパスにしたけど、ジャイロもコンパスっぽいし
VRSQUAREのUIが分かりやすい。そのうちちゃんと作ったほうが良さそう
ジャイロオフ
Input.gyro.enabled=false;
でオフにできる
Toggleを使った
BackGroundとCheckMarkに同じ画像をセットして、Checkmarkのほうをオンの色にしたら、オンとオフで色が変わるボタンみたいに使える。
正面リセット
エディタのほうはできたけど、スマホ版どうやればいいんだろう
エディタと同じ
を呼び出しているけどなぜかリセットされない。
Update内でのジャイロの動きが優先されている気がする
アセット
これはHMDを被った状態で2Dや360の映像を見るアセット。Oculusでの映像再生UIなどに似ている