Yoshidayo diary

I choose the form of Oculus Go with Unity

渋谷で早朝自習会を開催します【Unityを勉強中の都内近郊にお住まいの方へ】

Unityを勉強中のみなさん、こんにちは!

突然ですが、朝の時間を有効活用して、一緒にUnityの勉強をしませんか?

 

平日の朝から昼の時間にかけて大体9:00-12:00の間に、自習会を開きたいと考えています。いきなりだな、と思われるかもしれませんが、有意義な朝の時間を一緒に過ごしませんか。 

この自習会に参加するメリット

  • モチベーションアップ
  • 勉強仲間がみつかる(かも)

などなどです。

対象となる人

  • 朝の時間を有効活用したい方
  • Unityの勉強をしている、または始めてみようと考えている方
  • 喫煙しない方
  • トイレのルールを正しく守れる方
  • 上記すべてに該当する方

こちらで用意できるもの

  • WiFi、電源
  • 自習スペース(渋谷駅から徒歩数分)

会場はドットインストール様にご提供いただいております。

ありがとうございます!

※会場の詳細は参加者にのみお知らせいたします。

 会場の雰囲気

f:id:zyoryzyory:20180605185025p:plain

 ↑ こちらは勉強会をしたときのものですが、こういう雰囲気です。集中できてとてもいい空間ですよ :)

日程

平日の朝。

「この日、いけます!」と手が挙がれば、会場の予定との兼ね合いもありますが、できるだけ開催したいと思っております。

ただ参加者がいなくても、一人でも勉強しているかと思いますので、突然予定が空いたときなどは、下の申込み方法から連絡していただければ、一緒に勉強することができるかもしれません(笑) 

費用

無料です。

申込み方法

僕のFacebookに「自習会の件」とメッセージをいただければと思います。

 

https://www.facebook.com/yoshidayo4

↑ ぼくのFacebookです、メッセージお待ちしております!!

 

UnityのProBuilderでモデリングした建物をOculus Goからみる

おはようございます

よっし、朝活やっていきますよー。今日は晴れていて気持ちのいい日になりそうです。

昨日の朝活

前回は、Oculusのサンプルフレームワークを使って、いろいろと試してみました。VRの中で、閉鎖的な空間にいると本当にそこにいるかのような錯覚を起こすのでおもしろいですね。

www.yoshidayo.com

VR空間内に自分のスペースを作りたい

Oculus Goには標準でOculus Roomというアプリがついているのですが、アプリ内では音楽をかけたり、松明を眺めたり、ボードゲームをしたりできます。昨夜はそれで随分たのしませてもらいました。

今回は部屋っぽいものを実際に作って遊んでみようということで、ProBuilderというアセットを使って、Unity内でモデリングしていきます。

まずはチュートリアルで使い方を確認してみましょう。

チュートリアルのとおりに進めていくと…、どーん、すごい簡単にできましたw

f:id:zyoryzyory:20180511094002p:plain

さっそくですが、覚えた技術を使って適当にモデリングしてみました。

f:id:zyoryzyory:20180511111421p:plain

あとはNormal Flipしてあげて、内と外を反転させます。

f:id:zyoryzyory:20180511113343p:plain

あとはOculus Goから建物の中をみることができればいいので、Oculus Utilities for UnityからPrefabを引っ張り出して配置しました。

これでビルドしたらOKですね…、建物の中に入ることができました。

f:id:zyoryzyory:20180511121439j:plain

ただちょっと問題があって、動き回ることができません。カカシ状態です。なのでコントローラーを使って部屋を動き回れたらいいですよね。(本当は今日ここまで行きたかった。。。)

明日あたりに挑戦してみます。

ProBuilder VR

ところで、ProBuilderがVR内で使えるんですって、凄すぎませんかw

www.youtube.com

Can I use ProBuilder VR?

Sure! While PB-VR is still in early development, were making it free to download and use. See the Getting Started section for more info.

Keep in mind– both ProBuilder VR and Unity EditorVR are very early prototypes. Expect bugs, send us your feedback, and have fun!

開発初期段階ということなので無償でダウンロードできるようです。

バグを見つけて報告してみたいな、なんて思ったり思わなかったり。

ProBuilder VR | ProCore

This is a special version of Unity that was created for EditorVR

We highly recommend installing in a seperate folder, such as C:/Program Files (x86)/Unity-VR”, this way you wont overwrite your existing Unity install

ちょっとインストールする際に癖があるようなので、既存のUnityフォルダに上書きしないように気をつけたいですね。

どうやらOculus RiftとHTC Viveに対応しているようで、Oculus Goについては言及されていないのでどうなんでしょ。動画内だと右手のみで操作しているので、Oculus GoのControllerでもいけそうな…、いやはやちょっと検証してみましょう。このあたりも明日の朝活であわせてやっていきたいと思います。

 

PS: Oculus Goで撮ったMovieのシェア方法がわかったので、明日からは動画もアップできそうです\(^o^)/

www.howtogeek.com

Oculus Utilities for Unityを使ってUnityからOculus Goを試してみるぞい

おはようございます

さて今日も元気に朝活していきます。

昨日はWondergladeというアクション系のゲームを遊んでみました。ミニゲームがいくつか入っているのですが、ハイドロポンプ的な感じ(ポケモン)に火消しをするゲームだとか、魔法の杖を振り回して石をガチガチ割っていくゲームなんかが入っていて、結構おもしろいですよ。

Oculus Goを持っている人はぜひプレイしてみてください。

 

www.oculus.com

 

…外は雨がざーざー降っているので、こんな日は落ち着いた気分になれて調子が良いです。雨の音を聞いていると集中モードに入りやすいですよね。

さて、昨日はUnityをOculus Goにビルドすることができました。

 

www.yoshidayo.com

 

今日は「Oculus Utilities for Unity」というサンプルフレームワークを使って、VR空間でなにができるのか試していきます。

実はいまですね…、朝活でカフェにいるのですが、このカフェで一つしかないお一人様席を確保できなかったので、ちょっとだけOculusを被るのが恥ずかしいです(笑)、そんな中ですね…、他のお客さんに迷惑にならないように端っこのほうでVRにダイブしていこうとおもいます!

Oculus Utilities for Unityを使ってみる

さて早速ですが、こちらのリンクからUtilitiesをダウンロードしていきます。

Oculus Utilities for Unity | Developer Center | Oculus

We recommend always using the latest-available OVRPlugin version.

こちらは最新のOculusVRPulginを使っていきましょうということなので、1.25.2をそのまま選択します。

zipを解凍するとunitypackageが入っているので、これを読み込んでいきます。何がなんだかわからないので、全部importしちゃいましょう!

f:id:zyoryzyory:20180510093310p:plain

PrefabsにTrackedRemoteというPrefabがあって、これを使うことでControllerのトラッキングがワンクリックでできるようです。

もうすでにトラッキング用のスクリプトがアタッチされているので、ゲームオブジェクトとして配置するだけでOKみたいです。

f:id:zyoryzyory:20180510095026p:plain

こうしてみると、Unity上のコントローラーモデルと、現実にあるコントローラーが完全に一致していて、リアルをバーチャルに持ち込めている感覚があってテンション上がりますw

サンプルシーンを試してみる

さて、サンプルでシーンがいくつか用意されているのでやってみます。

Room

アプリをビルドして、早速試します。

手元のコントローラーがボックス形状のものに置き換わっていて、手首を回転させるとボックスも回転しました。

このroomの目的は、まさに部屋を見回すことにあり、ついでにコントラストはこんな感じだよということがわかりました。UnityのデフォルトのSkyboxと違って密閉された空間にいると全然雰囲気が違いますね。

f:id:zyoryzyory:20180510110812j:plain

動いている絵のほうが分かりやすいかと思って、動画も一応試みはしたものの、録画はできるのですが、Oculus Goからシェアすることはまだできないみたいだったので、とりあえずスクリーンショットを貼っておきます。

ちなみにOculus Goから撮った動画は

ナビゲーション -> ギャラリー -> 内部ストレージから確認することができます。

GearVR(Oculus Go)ControllerTest

f:id:zyoryzyory:20180510111718j:plain

ちょっと写真だとわかりにくいのですが、コントローラーの角度や加速度なんかも取れるようです。トリガーを引くとTrue/Falseが切り替わったりなど、小さなボディに盛りだくさんの機能ですね。

詳細はこちらを参照するのがよさそうです。

developer.oculus.com

3DoFであるOculus Controllerのベストプラクティスはこちらを参照するといいですね。

親切な英語で書かれているので、読みやすいと思います。

developer.oculus.com

 

さてこんな感じで一部ではありますが、VRのすごさを知ることができたので早起きしてよかったなと思っているところであります。

 

PS: 終盤には一人席に移動できました。が、後ろの席から写真を撮る音が聞こえて、新鮮な気分になりました(笑)。

f:id:zyoryzyory:20180510114402j:plain

UnityでOculus Goの開発環境をセットアップしてみた

Oculus Goがやってきた

うううおおお!ついにきましたよ、Oculus Go、これは熱い。熱すぎる鉄だー!

f:id:zyoryzyory:20180508200008j:plain

Oculug Goでチャット系からアドベンチャー系まで3時間ほど遊んでみて、可能性しか感じなかったので(AltspaceVRでは海外勢を前にジェスチャーで笑かすことしかできなかったorz)、とりあえず何かビルドしてみたくなったので、軌跡を残しておきます。この記事の主な目的は、VR開発をしたことがない自分がこれからVR開発をしたい人に向けて、アプリのビルドまでをずらずらと書いていくことにあります。

Oculusの公式サイトへいってみる

さてさてさて、やっていきましょう。まずはOculusの公式サイトにいって、DeveloperタブにあるMobile SDKを開くと…このような記述がありました。

The Oculus Mobile SDK includes libraries, tools, and resources for native development for Oculus Go and Gear VR.

Mobile SDK Getting Started Guide

おーよかった、すぐに見つかりました。このMobile SDKを使えばすぐに開発に入ることができそうです。が、native developmentにおいては必須らしいですが、どうやらC++でやっていかなければならないらしく、Unityから開発する際はべつのSDKが用意されている模様なので、すっ飛ばします。

Unityで3Dのプロジェクト作成

それではさっそく、Unityでプロジェクトを作って…どーん(なぜか綺麗ですね、地平線がくっきりとみえるような気がします)。

f:id:zyoryzyory:20180508194307p:plain

今回は、Unityのバージョンは2018.1を選択しました。新しいバージョンってイカしますよね。積極的にアップグレードしていくスタイルです。2018.1から新しく追加された機能などはいろいろあるようですが、僕が把握しているのはPackage Managerでプロジェクトへのアセットの取り込みが楽になっていたり、Job Systemなるものがなんやらかんやら…、ということです。加えて、プロジェクトを作った瞬間からScenesというフォルダがすでに作成されていて、SampleSceneという名前でシーンも保存状態でした。これは1つ手間が省けていいですね。

UnityのドキュメントでXRを参照

さてさて、次はどうするかというと…、公式ドキュメントを参照します。UnityではAR/XR/MR、諸々含めてXRと呼んでいるようなので

This section provides overviews for the VR, AR and MR SDKs supported by Unity. Each overview contains a quick start guide, and advice on troubleshooting and best practice.

Unity - Manual: XR

こちらのOculusの項目を参照すればよさそうですが…、おやGear VRの項目しかないようです。

f:id:zyoryzyory:20180509085619p:plain

GearVR ≒ Oculus Go

たしかGear VRで作られたアプリケーションはOculus Goからでも遊ぶことができるという話を聞いたことがあったので、あらかたGear VRの手順でいいのかしら…と検索していると、フォーラムに回答がありました。

Is the process for developing for the Go the exact same as the Gear VR? 

Yes, whether you are using our native mobile sdk or our unity utilities integration the development process is the same.

Developing for Oculus Go? — Oculus

冒頭でMobile SDKについては不必要ということがわかっていたのですが、どうやらOculus Utilities for Unity を使うといろいろ捗るらしいです。

Unity | Developer Center | Oculus

今回の目的はシンプルにアプリをビルドしたいだけなので、これもすっ飛ばします。

ではではさっそく、Gear VRと同じような手順でUnityからやっていきます。

まずはガチャリとmicroUSBを接続してあげて…

f:id:zyoryzyory:20180509090453j:plain

UnityのBuild SettingsからAndroidに切り替えます。これはOculus GoがAndroidで作られているからということでした。

f:id:zyoryzyory:20180508202637p:plain

おっと、エラーがでましたね。

f:id:zyoryzyory:20180508202651p:plain

f:id:zyoryzyory:20180508210623p:plain

SDKやらJDKのパスが設定されてないよ、というエラーでそもそもAndroidの開発環境が整っていないためにでているようでした。こちらを参照してエラーハンドリング。

Unity - Manual: Android environment setup

Oculus Goを開発するためにAndroid開発環境を整備

UnityのPreferencesからExternal Toolsを開くとSDKの横にDownloadボタンがあるので、そのまま手順に従ってダウンロードします(同じ手順でJDKも)。Android Studioをインストールする以外にもCommand Line ToolからSDKのみを入れることもできるようですが、今回は横着してAndroid Studioを入れておきます(かなり時間かかった)。

インストールし終わったらUnityを再起動します。Preferences -> External Toolsをみてみると、それぞれのパスが自動で設定されていました。これでKit系の準備は完了です。

f:id:zyoryzyory:20180508211350p:plain

XR Settings

さてさてお次は…、Edit -> Project Settings -> Player のXRの項目を設定します。これはOculusを選んであげればいいでしょう。

f:id:zyoryzyory:20180508211553p:plain

Build SettingsからBuild and Runしてみましょう。すると、エラーが出ました。

Oculus Requires a Minimum API Level of 19.
You have selected 16

API LevelはAndroidのバージョンごとに提供されているAPIを識別するための整数値ということでした。

https://developer.android.com/guide/topics/manifest/uses-sdk-element?hl=ja

こちらは特に理由がない限り、上位のAPI Levelを設定しておいても良いかと思います。Androidのバージョンのシェアをみるには下記のサイトがいいでしょう。Codenameがおもしろいのがポイントです。

f:id:zyoryzyory:20180509102231p:plain

https://developer.android.com/about/dashboards/

ということで、今回は最新のOreoにしてみます。

f:id:zyoryzyory:20180509094811p:plainどーん、一気にレベルアップだぜー!ひゃっほー。と思っていたら…

UnityException: No compatible Android device found
No compatible Android device found. 

またエラーですね。これはもしかしてOculus Goの中に入っているAndroidのバージョンと合致していないということでしょうか。Oculus GoのAndroidのバージョンはわからなかったのですが、Android7.1にしたらBuildが成功したので、とりあえずAPI Levelは25に設定してありますw

これでUnity側の設定は終わりです。

Oculus Goの開発者ダッシュボードより組織を設立

あとはOculus Goを開発者モードにしてあげればOKなので、やっていきましょう。

まずは下記サイトにいってOrganizationを作成します。

Oculus開発者ダッシュボード

つぎにスマホからOculusアプリを立ち上げて、下のタブの設定 -> その他設定 -> 開発者モードをONにしてあげればいいですね。これですべての準備が完了しました。

Oculus GoとUnityの出会い

では最後にUnityでBuildして…

f:id:zyoryzyory:20180509102747p:plain

Oculus Goを装着すると…、でーん。やったー!

f:id:zyoryzyory:20180509102823j:plain

 

次に読みたい記事

www.yoshidayo.com

16: 朝活でUnityを極める

f:id:zyoryzyory:20180509104020p:plain

やばいやばい、1日のモチベーションが上がらない、そんなときこそ朝からスタートダッシュを決めてやるぜ!ということで、朝活を始めました。趣旨は、午前中にカフェに出向き、何かつくってみようという感じです。

0508 from 内田吉彦 on Vimeo.

今朝の成果はこんな感じ。うーん、微妙!w

でもまあ、作っている内にスクリプトが磨き上がってきてる感じがあるので、どんどんやっていきたいですね。

明日も朝活、明後日も朝活、明々後日もも朝活します。朝活を通して、Unityを極めます。