ARあるある言いたい

VR・ARのことについて書いていきます

どうやって新しいことを勉強すればいいのか

まったくブログを書いていない。最近は何をしているかというと某大手企業のAR研究案件にアサインされています。 HoloLensやTango触れるよ!と聞いて意気揚々としてたんですが、当然それだけでいいわけでもなく、昨日とかはAndroidのネイティブ開発するにあたって下地作りといいますか、環境構築してました。

色々ググって調べたもののAndroid Studioのバージョン違いで全然状況が違ってたりして使い物にならず、とりあえずAndroid Studioいじって自分で糸口を見つけていろいろやってたものの、結局はgoogleの公式ページに当たって「なんだよ最初からこれ見ればよかったじゃーん」ってなってました。それでもそれだけじゃうまくいかず、ほかに調べたり自分でトライ&エラーする必要があったわけだけど…

どうも自分は公式ドキュメントの読み方がうまくないようだ。Oculus SDKのときも色々遠回りした挙句「何だこんな簡単なことかよー」ってなってた。あれはUnityも初めてだった、というのも原因としてありそうだけど。

ただ開発者向けの情報なんて、公式であっても整理されてないものいっぱいあるというのも事実だから難しいところ。

ではどうすればよかったのか。

まあ公式ドキュメントを一から読んでできそうならそれに越したことはないんだけど、時間がかかりすぎるし、自分の目的には不要なことも多いと思う。なので「特定の機能を使えるようにする」を目標に考えてみる。

(1)まず、自分の習熟度が低ければ低いほど、まずは「作法に慣れる」ことが必要になる。作法に慣れるためには、サンプルプログラムなりをさっさと起動させて、いろいろ触りまくって、都度考えて、対象物の認識を自分の中で(まずは自分なりに)作り上げていくことになる。

(2)自分なりの認識で「やりたいことを達成するにはどういう手順が必要か、何の情報が必要か」を文章化する。なので前段でいろいろ触りまくってるときにそれを意識していたほうがいいだろうか。多分歯抜けになるだろうけど、いろいろ調べて強引にでもできるだけ埋める。

(3)公式ドキュメント全体を眺める。そして自分の目的と関連ありそうな項目をピックアップし、順番に中身を軽く見る。このとき、ドンピシャなものが見つかれば読み込み、わからない単語は調べる。理解できない概念は大体知らない単語の集合体なので、わからない概念があってもあまりウンウン悩まないで、さっさと単語をググって知識を積み上げていく。

(1)~(3)の繰り返しになるだろうか。もっといい方法あるかもしれないけど「学問に王道なし」らしいので、とりあえず自分の考えまとめてみました。これ別に公式ドキュメントに限らないな。web全体としてもよさそう。途中でバージョン違いによる情報の食い違いとかあって混乱すること、結構ありそうだけど、これの対策は「慎重になる」くらいしか思いつかない。勉強って、目に見えない頭の遠足みたいなものだと思うので、実際の遠足よりも慎重に、自分の状態や足元に敏感になるべきだと思う。頭が疲れてくると、惰性でだらだらと迷子になっていくので、目標と自分の向いてる方向を常に意識しないと結構危ない。(2)の文章化は地図を描くということで、(1)(3)の段階では途中でパンくずを置いていく(ログ、メモを取る)のもいいと思う。

Androidネイティブ開発の環境構築については後日まとめようかと思います。

SOFT SKILLS ソフトウェア開発者の人生マニュアル

SOFT SKILLS ソフトウェア開発者の人生マニュアル

この本にもっとまとまって書いてあったと思うけどちゃんと読めてない。

ノンデザイナーズ・デザインブック(とりあえず)読了

ノンデザイナーズ・デザインブック [第4版]

ノンデザイナーズ・デザインブック [第4版]

とりあえずざーっと一周。いくつかクイズとか実習が用意されていて、ちゃんとやろうとするともう少し時間が必要かも。

実習については「このデザインの何が問題かを言葉にして説明してください」とかがいくつかある。著者は「言葉にすることで現状や問題を捉えて、それから征服が可能になる」と考えているらしく、それは自分も納得するところなので一度しっかりやっておきたいですね。

それをやったとしても、実際にイチから自分でデザインしようとしたときは手こずることになるのだろうけど。

デザインの本ということで、kindleよりも紙の方がレイアウトこなれてたりして良いかも、と思って紙の本買ったんだけどべつにどっちでもよかったかな。

HoloLensがうちに来てから1か月が経ちました

なかなかブログ書くことに慣れなくて時間が空いてしまった。当初、HoloLens関連記事はタイトルに日数を含めるつもりでいたのだが、HoloLensがうちに来たのは発送日翌日の1/20金曜日で、公式の発売日である1/18とはズレがある。HoloLens予約開始と同時に購入したのに記事タイトルに書く日数が発売日とずれることは、なんとももどかしいところ。なので今回は一か月とお茶を濁した。このタイトル形式は無理があるかもしれない。いつかしれっと変えるかもしれない。


間が空いてしまっていろいろあったが、twitterを見ながらつらつら振り返っていこう。


初のARみたいな。


HoloLensを普段使いするための環境を整える。

ここで言っている「ダッシュボードアプリ」というのは、時計とか天気情報とかスケジュールとかをまとめて表示するアプリのことです。ダッシュボードっていうのはmacの機能の名前だったそうで、不適切だった。なんて言うべきか…。ともかく、そういう環境が欲しいわけです。基本的な情報を、常に大きく壁に貼っておきたい。twitterも常時表示しておきたい。

いろいろストアアプリから探したんですが、まず情報をまとめて表示させるものは無さそう。なので1つずつアプリを起動して並べておくことにしたんだけど、ちょうどいい塩梅のものがなく。まず前提として、HoloLensはアプリを起動したらまずそのアプリのホロ(ウィンドウのこと)を空間や壁に設置して、それに対して操作を行う、という流れなんですね。で、このとき同じアプリを複数ウィンドウで立ち上げると、その表示は同期してしまうのです。これがいろいろなところでネックになりました。

まず、時計は日本の時間と知り合いのいるベルリンの時間を一緒に表示させておきたかったんですが、同時に表示できるアプリは「」くらいしか見つからず、デザインはあまり気に入らなくて微妙だなー思いながらもこれを使うことにしました。

次に天気だけ表示する、というのは無かったので、時計アプリの「」で代用。普段使いの時計は「」で、ちょっと気取ってにベルリンの時間を見ようってときは「」としました。

次にメールとカレンダーは、「Outlook Calendar & Mail」。これはメールとカレンダーで別アプリなので同時に表示させておくことができます。問題はカレンダーで、予定を一望できる一か月表示と、予定の時間まで確認できる一週間表示を一緒に出しておきたかったんですけど、これが上記の「同じアプリを複数ウィンドウで立ち上げると、その表示は同期してしまう」に引っかかってしまいました。二つ立ち上げることはできても両方が同じ表示形式になってしまうんですよね。なのでこれは未解決となりました。

それで完成したのがこれ。

www.youtube.com

いろいろ直していかないとね。


それから、Tokyo HoloLens Meetupがあって遊びに行きました。こういうイベントは初めてだったので雰囲気が知れてよかった。よーし、頑張るぞー。


今は作りたいアプリがあるのでHoloAcademyで勉強しながらボチボチやってます。並行してPhab2Proとも遊んでます。そっちも何か書きたいネ。

Hololensがうちに来てから5日が経ちました

楽譜を表示してピアノを弾いてみる。

とりあえずはページの分だけwindowを出して並べただけ。距離の調整が難しかった。そして実際に演奏してみると、演奏中は結構頭の動きと目線の動きが激しくて、このままだと実用は難しい。 視線追従してくれた方が良いのだろうか。というかわざわざ現実の譜面立てと同じような場所に置く必要はないのだから、半透明にして鍵盤の上に出してしまうなど、もっとhololensファーストな考えをした方が良いのかもしれない。

やはり曲に合わせた自動譜めくりも欲しい。というか譜めくりというより、目の位置は固定で曲に合わせて楽譜が右から左に、下から上にスルスル流れていくのがベストなのかもしれない。 色々試してみたい。取り急ぎは

  • PDFリーダーのアプリを探す
  • “Next"などでページめくりできるかどうか
  • 半透明表示
  • 手元に合わせて表示させるなど、hololensファーストの考えで

この辺りを試していきたい。


音声操作はちょっと慣れてきた。"select"の打率上昇。"adjust"もちょっと難しい。"done"がかなり難しい。


hololensの装着もこなれてきた。オーバーヘッドストラップを広い方から4,5つ目の穴で閉めて、ヘッドバンドもきつめ、若干上向きで、長い方のノーズパッドつけるとかなり良い感じになった。しかしノーズパッドは鼻の骨に負担がかかって疲れる…メガネが少し大きいというのも問題なのかも。


それと開発環境構築。 Tokyo Hololens Meetup に向けてこのページを見ながら準備中。

www.naturalsoftware.jp

確かに時間がかかる。Unityを最新版にしてVisual Studioも設定。さて、Visual Studioからアプリをhololens上にビルド…というところで詰まる。

本来はここでvisual studioから「hololensとペアリングのためのPINを入力してくれ」といったポップアップが出るっぽいんだが出ない。対処法がわからず、無視しても先に進めないので良くわからないがとりあえず言われるままにwindows phoneのemulator入れてみるも解決せず。無駄なものを入れてしまった…。

hololensのsettingsを探してみる。すると今のOSは最新版じゃないという表示があったのでアップデート、しようとしたんだが充電してくれ、とのこと。充電しながらアップデート。この辺で変な操作してしまったのか、なんとアップデート後の再起動でこける。時間がかかるのかなと思ってそのまま充電して出社してみたものの、帰ってきても起動中?の「Hello」のまま。

仕方ないので電源ボタンを長押し。10秒くらいで電源が落ちたので少し(30秒以上)待って起動。なんとか無事立ち上がった、よかった…

それでもvisual sudioからのアプリのビルドはwindows phoneを探しに行ってしまうので、他にできることはないか探す。Device Portalに接続してみよう。 デバイスポータルは、PCのブラウザ越しにHololensの状態を見たり操作を行ったりできる仕組みですね。

msdn.microsoft.com UnityでHoloLensアプリケーション開発Tips | develog.holo

ここでも問題発生。ネットワーク経由でデバイスポータルにアクセスできない! 仕方ないのでUSB接続して http://127.0.0.1:10080 にアクセスすると、今度はちゃんと行けました。

ユーザIDとパスワードを設定して、ログイン。色々見て、wifiで接続できなかった問題を解決。

僕がよく使うwifiのアクセスポイントは家のmacの「インターネット共有」かスマホテザリングの2種類があって、これが混乱の元だったようだ。 今度はwifiでデバイスポータルに接続できた。

改めてVisual Studioでアプリのビルド。今度はhololensを探しに行ってくれた!PINを聞かれたので、上記のmeetup用資料に書かれた方法でPINを取得して入力。アプリが起動した!

おやすみ!

Hololens買いました

Hololens日本発売めでたいですな。 買いました。昨日は疲労のあまり寝てしまったのですが起きたら中村薫さんが「hololens瞬殺」とツイートしてまして。

朝風呂入りながらあまりにへこんでしまいまして。「ああ、おれってこんなにホロのこと好きだったんだ」と気づかされました。俺の人生はこんなのばっかりだ。 で、風呂入ったら復活していたそうで。

もう迷うことはない。速攻買いました。

f:id:mojo_nobu:20161202155015p:plain

今日のARあるある - デバイスを買うだけで人生の大切なことを教えてくれる。