2017年5月29日

週報(2017.05.20-2017.05.26)

hashilus.jpg

1weekほどまたイベント密度が上がった感じでした。
今週はちょっと落ち着くので積まれてるものをガリガリ消化したいです。

続きを読む "週報(2017.05.20-2017.05.26)"

2017年5月28日

LT募集があったので #ABC2017s に行ってきた

abc2017s-leaflet.jpg

LTにホイホイ申し込んでしまったのでAndroid Bazaar and Conferenceに行ってきました。

日本Androidの会 Android Bazaar and Conference #ABC2017s
http://abc.android-group.jp/2017s/

続きを読む "LT募集があったので #ABC2017s に行ってきた"

2017年5月27日

わいわい報告会@mercari #io17jp に行ってきた

mercari-io17jp-report.jpg

メモです。資料は全部公開されてますしとくに内容はないです:)
メルカリのIO報告会に行ってきました。六本木ヒルズ久しぶり。

Google I/O 2017 わいわい報告会 @ Mercari
https://connpass.com/event/57158/

無料ドリンクとテーブル付きの椅子とWiFi完備で快適。カシャプシュ音に金曜を感じました。

続きを読む "わいわい報告会@mercari #io17jp に行ってきた"

2017年5月24日

週報(2017.05.13-2017.05.19)

nexus.jpg
この週はだいたいFGOしてました。あと、昼夜反転してGoogle I/Oめっちゃ見てました。
先週の週報なのに今週がもう半分過ぎ去っていますあわわ。

続きを読む "週報(2017.05.13-2017.05.19)"

2017年5月20日

ROS Japan UG #10 勉強会 に参加した #rosjp

rosjp-ug-10.jpg

ROS Japan UG #10 勉強会
https://rosjp.connpass.com/event/55125/

昨年度末にROSとコンニチハしたのですが、その勢いでuArm Swiftをbackしました。
じゃあせっかくだしROSをもう少し覗いてみてもいいのでは、というふんわりしたトリガでROSの勉強会に参加してみました。

続きを読む "ROS Japan UG #10 勉強会 に参加した #rosjp"

2017年5月18日

FGOはじめました

chapter6.jpg

FGOはじめました。
第一目標は「キャラとシナリオがわかるようになる」、第二目標は「1部クリア」を設定しました。

タイツ師匠とマリーちゃんが好きです。どちらもうちのカルデアにはいません。
フレンドIDは071,913,991です。よかったら遊んでやってください。

続きを読む "FGOはじめました"

AVRShow 2017 in Tokyo #AVRS レポ

2017.05.03に開催されたAVRShow 2017 in Tokyoのいまさらのレポです。レポというよりメモですが。

AVRShow 2017 in Tokyo
http://avrs.jp/

続きを読む "AVRShow 2017 in Tokyo #AVRS レポ"

2017年5月15日

週報(2017.05.06-2017.05.12)

nojob-palmer.jpg
ねんがんの むしょくつーしょっとを てにいれたぞ!
UniteとFGOと、後は寝てたら1week終わってしまいました。イベントラッシュがやっと終わったのでIOとか月末に詰め込んだの勉強会に向けていろいろリハビリとか下準備とか進めていこうと思います。

続きを読む "週報(2017.05.06-2017.05.12)"

2017年5月 7日

週報(2017.04.29-2017.05.05)

mutton.jpg

全部の日に予定入れて遊び倒しました。今は休養しています。今週の週報はGW特大号になっております。
そういえば、ここのところ「働いてた時よりよっぽど都内に出て、満員電車に乗っている」のですが、1万円チャージしたSuicaがさっくり空っぽになります。もっと引きこもります。

続きを読む "週報(2017.04.29-2017.05.05)"

2017年5月 1日

週報(2017.04.22-2017.04.28)

20170423_153555.jpg
いろいろトライできて活動量としては良い密度だったのですが、燃費が悪かったり、コントロールが悪かったり、溜めが不十分だったり、みたいな感じの1週間だったように思えます。かしこくなりたい。

続きを読む "週報(2017.04.22-2017.04.28)"

2017年4月27日

鈴谷かわいいよ鈴谷

suzuyakai2.jpg

鈴谷改二が「高3になりました」というツイートを見た気がしますが天才だと思いましたね。

つみ鈴谷改二がかわいすぎたのでセコセコと動作確認用にSBSステレオ動画を出力しました。
suzuyakai2.mp4(SBSステレオ3200x1600 16Mbps、374MB)

モデル:【MMD艦これ】鈴谷改二のメーベル【モデル配布】
http://www.nicovideo.jp/watch/sm31090397
モーション:【MikuMikuDance】 おねがいダーリン 【MMDモーショントレース】
http://www.nicovideo.jp/watch/sm29131518
音源:おねがいダーリン 歌ってみたver.柊 優花
http://www.nicovideo.jp/watch/sm27864719

Gear VRユーザはSamsung VR(旧Milk VR)で。国限定が今でもかかっているかわかりませんが、かかっていたらVPNアプリで超えられます。Oculus Videoでもファイル名やメタファイルをきちんとすれば見られるかもしれません。
DaydreamユーザはSKYBOX VR Playerで。
CardboardユーザはFreeVRPlayer(Android版)で。iOS版もあります。
PSVRユーザはLittlStarのSideloadでみられるようになりました。

ひと昔前の「ステレオのTop-Bottom EquirectangularをYouTubeにアップロードしちゃえ」が唯一の選択肢の時代から、それなりに選択肢が増えてきました。
良いことですね。
あとは前方180度でいいので数万円で4Kが撮れるカメラを誰か市販してください...っ!

Tango + Cardboard/Daydreamの話

(今書いている)某後編に入らない(入れられない)話についてここに書き残しておきます。

【先に結論】
プラットフォーム ライブラリにリンクした NDK アプリ
https://developer.android.com/about/versions/nougat/android-7.0-changes.html?hl=ja#ndk
この話のせいで、DaydreamのためにtargetSdkVersionを24にするとTangoが動きません。2017 AprilにSDKをアップデートしておきながらAndroid 7.0であるtarget24で動作しないとものを出すとかもうちょい足並み揃えてよGoogleって感じです。

ところが、5.4.2f-GVR13のDaydream Technical Previewを使ってDaydream/Cardboardコンポーネントを追加したものにTango SDKを適用すると、min17 target23のままなぜかヘッドトラッキングと二眼Viewだけが動作します。ネイティブVR対応側でCameraのTransformを上書きされるのでRotationやPositionは思うように行きませんが、赤外ToFセンサによるPointCloud表示などは問題なく動作し、Tangoシステムとしては特別に停止されてはいない気配です。

ものすごく誰かががんばるとそれなりポジトラぐらいは動くのではないでしょうか。よろしくお願いしますGoogleさん。

【前提】
・検証Unityバージョンは「5.5以前」「5.6」「5.4.2f-GVR13 Daydream technical preview」の3つです。これは「UnityがVRにネイティブ対応したかどうか」の境界線です。
・VRネイティブ対応のバージョンでは、Virtual Reality supportのチェックを有効にして、それぞれ"Daydream"か"Cardboard"かのコンポーネントをどちらか1つだけ設定しています。
・「min」はminSdkVersion、「target」はtargetSdkVersionを指します。

【Cardboard】
・5.5 + 古いGoogle VR SDK:OK
・5.6 + Google VR SDKあり:target24になってしまい、Tangoが動的リンクエラー
・5.4.2f-GVR13 + Google VR SDKなし:OK
・5.4.2f-GVR13 + Google VR SDKあり:target24になってしまい、Tangoが動的リンクエラー

【Daydream】
・5.5以前はDaydream非対応
・5.6 + Google VR SDKあり:target24になってしまい、Tangoが動的リンクエラー
・5.4.2f-GVR13 + Google VR SDKなし:実は動くけどGoogle VR SDKを入れられないのでコントローラが使えない
・5.4.2f-GVR13 + Google VR SDKあり:target24になってしまい、Tangoが動的リンクエラー

【他補足】



Tangoの動的リンクエラーはこんなlogcatになります。

Daydreamセットアップ済みデバイスにCardboardのQRコードを読み込ませるとDaydream Viewヘッドセットに戻るルートがなくなります。Google VR Serviceのストレージデータを初期化するとDaydreamのセットアップウィザードからやりなおすことができます。 ヘッドトラッキングが二重でおかしいので世界は90度まわるのですが、Tangoは45度分しかSLAMしていないのでこんな表示になります。 →ただのCamera二重化だったので親子でカメラが重なったりしないようにしたら直りました。 5.4.2f-GVR13 + Tango SDKでmin17 target23というトリッキーなDaydream+Tangoに成功。 このPointCloudシーンは点群を示す虹色のキューブだけにTangoのMotioinTrackingが効いており、歩くと遠くへ移動していってしまいますw

2017年4月25日

週報(2017.04.15-2017.04.21)

magica-voxel.jpg

今回も2日遅れです。ちゃんと土曜に週報出せるマンを目指したいところです。

続きを読む "週報(2017.04.15-2017.04.21)"

2017年4月19日

週報(2017.04.08-2017.04.14)

tbf02-01.jpg
いきなり週報が三日遅れです。先行きが不安ですね。

続きを読む "週報(2017.04.08-2017.04.14)"

2017年4月11日

「VRエンジニア養成読本」でUnity+Google VR SDKでCardboard向けにVRアプリをつくる初心者向けの記事を書きました

本日4/11が発売日ということで、少し補足情報を述べておきます。

◯書籍全体について

vr-yousei-mokuji.jpg

技術評論社の公式ページには概要と目次が両方掲載されていますが、タイトルはVRでばっさり、表紙からVRなのにHoloLensとか、概要もゆるふわで掴みづらいので、目次を確認してください。

・「巻頭特集」として、既存VR/MRデバイスと、近い将来リリースされるハードなどについて、@yamashin0429さんが書いています。
・「特集1」として、VRアプリ開発初心者向けに、「Cardboard向けに壁打ちゲームアプリの作り方」・「Oculus向けにユニティちゃんをよびだすアプリの作り方」・「とくにターゲットは限定しないQuaternion、角度と頭・視線の話」をそれぞれ私@youten_redo@Somniumさん、@oukaichimonさんが書いています。
・「特集2」はもう少し実践的な話として、「プロ生ちゃんとロッカーに閉じ込められる「至近距離ガールVR」のデザイン」について@kohki_nakajiさんと@mementomori72さんが、「いまいる場所の把握や方向をわかりやすくする空間設計」について@tsuhirさんが書いています。
・「一般記事」は1つだけしかなくてもう特集とか一般とかの分類がよくわかりませんが、360度動画・VR動画の特徴について初心者向けの話を@kohki_nakajiさんが書いています。
・「特集3」はHoloLensそのものの話と開発入門(むしろ開発環境紹介)を@yuujiiさんが書いています。
・「特集4」としてVRに関連した3D技術の応用事例として2記事、両人の持ちネタである「@Somniumさんのボクセル変換と3D出力の話」と「@n_ryotaさんのUnityでProcessingっぽいことができるようしたUnicessingを使ったVRなジェネラティブアートの話」が書かれています。

◯私が書いた「特集1 Unityで作る 入門! VRアプリ開発」内、「第1章 Google CardboardとAndroidでスタート はじめてのVRアプリ」について

macOS/Windows対応でゼロからJava(JDK)・Androidのビルドツール・Unity(5.5最新を想定)をインストールして、Google VR SDKをセットアップして試したのち、Cardboard向けに壁打ちゲームをスクリプト込みで作成する手順を詰め込みました。
Daydreamの話を書こうと思っていたところ、「マニアックなものや上級者向けのコンテンツばかりではなく、初心者向けのものも入れ込みたい」という要望を受けて書いたもののため、VRアプリ開発の初心者向けに(おそらく)なっています。

・Unity 5.6対応の話

記事はUnity5.5で書いたのですが、最新のUnity5.6ではUnityのVRへのネイティブ対応の影響でそのままでは動作しません。以下の2点、差分対応をお願いします。

1. 「PlayerSettings」の「Other Settings」中、 「Virtual Reality Supported」のチェックをONにして、「Virtual Reality SDKs」に「Cardboard」を追加してください。

unity560-gvr-cardboard-01.png

2. Google VR SDKのAPIをUnityのVR APIに変更する必要があります。(Google VR SDK中にifdefで分岐があるとのことです

頭の向きを取得して自機(バー)の位置を変更するMeMain.csを以下の様に変更してください。詳細はコメントを参照願います。

void Update ()
{
    #if UNITY_EDITOR
    // キーボードによる自機の移動(Unityエディター上限定のデバッグ用)
    if (Input.GetKey (KeyCode.LeftArrow)) { // ←キー
        if (-MAX_ME_X < transform.position.x) {
            transform.Translate (Vector3.left * 0.3f); // 左へ            
        } 
    }
    if (Input.GetKey (KeyCode.RightArrow)) { // →キー
        if (transform.position.x < MAX_ME_X) {
            transform.Translate (Vector3.right * 0.3f); // 右へ
        }
    }
    #else // not UNITY_EDITOR
    
    // Cardboard (Google VR)での首振りによる自機の移動
    #if UNITY_5_6_OR_NEWER
    // Unity 5.6以降の場合はUnityネイティブのVR対応を利用することになるため、
    // PlayerSettingsのVirtual Reality SupportedチェックをONにして、
    // Cardboardコンポーネントを追加する必要があります。
    Quaternion head = InputTracking.GetLocalRotation(VRNode.Head);
    #else // 5.5 or older
    Quaternion head = GvrViewer.Instance.HeadPose.Orientation;
    #endif
    
    if (head != null) {
        float posX = Mathf.Clamp (head.y * 20.0f, -MAX_ME_X, MAX_ME_X);
        // move bar
        transform.position = new Vector3 (
            posX, // x
            transform.position.y, // y
            transform.position.z); // z
    }
    #endif
}

Unity5.6に対応した記事内のアプリのUnityプロジェクトは以下のGitHubリポジトリに配置しました。
問題があったら他のスペースに移動されるかもしれませんがよければ参考にしてください。

youten/Yousei-HelloCardboardVR
https://github.com/youten/Yousei-HelloCardboardVR

◯余談
Daydreamについて書きたかったのにCardboardについて書くことになったので「CardboardとDaydreamについて」という趣味丸出しの節がコラム枠で含まれています。購入された方は僕の顔を思い出しながら読んでやってください。


P.S.
冬休み明けに初稿、3月に入って涙目の全スクショ撮り直しで4/11発売のこの書籍と、ノリノリで4/1リリースのUnity5.6や4/5の12.1話ネタまでぶちこんだ先日の技術書典2向けの4/9頒布の同人誌。時間というものはほんとに強大な敵だな、と感じています。

Archives(記事一覧はこちら)