読みにくいメモ

全然わからない。俺は雰囲気でプログラムをやっている。

なんちゃってUnityプログラマがバイクを買った話

久しぶりに自分のブログを見返すと、去年や一昨年はいろんな技術的なことを書いてんなーと感心する。

 

忙しさを人質に良い習慣をなくすのはよくないなと思って再度ブログを書きます。(前回もそんなこと言ってたけど)

 

 

今回もちょっと趣味的な話。

実は去年の11月から二輪車免許の取得に自動車学校へ通っています。

普通大型の連続教習なので、もう少しばかりかかる。

 

が、免許取得の前にバイクを購入しました。

f:id:HarakeN:20180109161027j:plain

ハーレーのFXSTBナイトトレイン2003年モデルです。

 

 

なんで若造でオタクなワイが、こんなバイクを購入したかというところについてすこしだけ書きたい。

 

 

そもそもバイクっていうのは「うるさい」「危ない」「ガラ悪い」なんていう世間的な印象から自分は一生バイクに縁のない人生だと思ってました。

 

しかし、勤務先は優しいイケメンライダーが多く、仕事で制作しているVRコンテンツもバイクがメインで、次第に興味が湧くようになりました。

 

ある時、「実際に乗ってみたらどんな感じなのだろうか」

そんなことを考えていると、会社の後輩が

「バイクの免許とります」

なんて言っているのを耳にした。

 

この時「バイクって乗っていいものなんだ」と思ってしまったのが、大きなキッカケです。

 

今までは「乗ってはいけないもの」だと思っていたことを、自分でも気づけずにいたようです。

そんなことない、乗っていいんだと思うとすぐに教習所の場所を調べていました。

 

そんなこんなで今、教習所へ通いバイクを購入した次第でございます。

 

 

バイク記事は納車した時にまた書こうかな。

 

(HoloLensでThetaの映像見たい続編).NetのwebrequestをUnityWebRequestで置換したいが

前の続き

noshipu.hateblo.jp

haraken.hatenablog.com

 

HoloLens用にビルドすると.Netのwebrequestの部分でエラー吐いてビルドできないやつをなんとか回避したいんだけど、UnityWebRequestで書き換えてやればいけるんじゃない?

と、思ってみたが、そもそも通信の実装はよくわからないので、お手上げ状態。

 

 

ちなみに、Player SettingでScriptBackendをIL2cppにしたら、そのままでもビルド自体はうまくいったが、Thetaとの通信はできなかった(ってかC++じゃ動かんよな)

 

 

んで、適当にブラウジングしてたら、こんなアプリがすでにあった模様。

www.microsoft.com

 

このアプリを使用したら普通にシータの画像をライブで見れた。

実装の仕方はわからないけど、そもそもUnityなんか使わないでVSで書けよって事。。。?

 

2Dアプリの方が、ライブカメラの使い方としてあってると思うけど、Thetaだったら3Dアプリでみたいよなぁ。。。

 

 

他に使えそうないいライブカメラがあればいいんだけど。

 

 

以上。

Unity5.6のVideoPlayerとuGUI

はい。

Unity5.6もリリースされたことなので、久しぶりに記事書こうかな。

 

今回のアップデートで注目されてるのはVideoPlayer

今までUnityで動画を使おうとするとAssetのAV Proを購入せざるをえなかったが、今回導入されたVideoPlayerを使用すれば大概の事はAV Proを使用せずに済むようになった。

 

1.導入

使い方は超簡単。

まずはVideoPlayerを配置。Createからも作れるので楽。

f:id:HarakeN:20170405160323p:plain

 

 

次に再生したい動画をProjectに入れて、先ほど作ったVideoPlayerのVIdeoClipにつける。基本的にh.264の拡張子mp4なら動くみたい。

ちなみにmovでも再生できたので、たいていの動画は再生できそうです。(確認してないけどaviとか古いのは無理っぽい?)

f:id:HarakeN:20170405161527p:plain

 

 

 

次に動画を映したいCameraを配置。Play On Awakeにチェックを入れてあれば、この状態で実行したときに再生されます。

f:id:HarakeN:20170405162322p:plain

 

 

スクリプトから操作したい場合は、VideoPlayer.Play()とか読んであげれば任意に再生できます。Audioを再生する感覚で操作できるので楽ちん。

 

 

 

2.Canvas使ってるときの配置

コンテンツを作ってるとuGUIを使用してイメージを配置してたり、フェードインやフェードアウトしたりするシーンを作ることが多いと思います。

そんな時に動画を再生すると、uGUIのが動画の前に映った状態で再生されてしまいます。レイヤー構造的にはCanvasより後ろに動画が見える様になっているので、これをどうにかして手前に持ってこなきゃいけません。

 

んなら一番手前に配置すりゃエエだけの話で、これも簡単にできます。

ざっくりいうとレイヤーの一番上のImageを動画にしちゃう感じです。

 

 

まずは、先ほどのVideoPlayerのRender ModeをRender Textureにして、新しく作成したRender Textureをaddしましょう。

一つ気をつけたいのはRenderTextureのSizeを動画の縦横サイズにあわせること。(少し気持ち悪い気がするけど)

f:id:HarakeN:20170405164821p:plain

 

 

次にUIからImage(RawImageでもおk)を作成して、Textureに先ほど作成したRender Textureをaddしましょう。

f:id:HarakeN:20170405165254p:plain

 

これで解決です。

uGUIが描画されてても一番手前に動画が再生されるので、かぶったりしません。

 

 

 

 

今まではunityで動画って聞くだけで「あ~~~~^^」ってなってたし、ソースがmovとか聞いたら死んでたけど、5.6からは超簡単になって最高やね。

 

 

以上。