Tutti Lab

元シリコンバレー在住のおっさん技術者、モバイルVRアプリ開発に挑戦中

MFT2017に出展したVRコンテンツ

今年もMaker Faire TokyoにVRコンテンツを出展しました。www.youtube.com へなちょこCooking Oculus Touchを活用したVR料理ゲーム(?)です。 食材をナイフでカットし、焼き色を付けて、皿に盛りつけます。 盛り付けが完成すると、AIがその料理に名前をつけ…

ラズパイZero WでMovidius NCSを動かす

前回は、苦戦しながらもラズパイ3にUbuntuをインストールし、Movidiusを動かしました。 今回は、ラズパイ3ではなく、より安価・小型(でも非力)なラズパイZero Wで、Movidiusを動かしてみます。なお、ラズパイZero Wはラズパイ2・3とARMアーキテクチャ…

ラズパイにUbuntu 16.04 LTSをインストールし、Movidius NCSを試す

話題のMovidius NCSを入手しました。非常に安価で、かつUSBポートに差すだけで、Deep Learningによる認識処理を高速に実行できる、ということで、 ラズパイにMovidius NCSを接続すると色々面白いことができそう。ラズパイでMovidius NCSについては、以下に手…

ARKitを利用してGoogle Cardboardでポジショントラッキング

過去、モバイル向けARエンジンであるVuforia・Kudanを利用したモバイルVRでのポジショントラッキングに挑戦してきました。 今回は、先のWWDCで発表されたAppleのARエンジンであるARKitを利用したポジショントラッキングに挑戦してみます。youtu.be UnityでAR…

Unity5.6.1f1でAndroidManifest-main.xml merging error

Unityを5.6.1f1にアップデートしたら、開発中のGearVR用のアプリが「AndroidManifest-main.xml merging error」でビルド不能に・・ AndroidManifestを書き換えよ、とのことですが、何のことやら・・こちらに解決方法がありました。 C:\Program Files\Unity\E…

Enabling or adding a Renderer during rendering

遅まきながらUnity5.6へアップデートしたのですが、Unity5.5で動作していたプログラムが動かなくなりました。 gameObject.SetActive()にて、"Enabling or adding a Renderer during rendering"というエラーが発生している模様。 原因は、gameObject.SetActiv…

陰影表示の際のOnBecameVisibleとOnBecameInvisibleについて

現在開発中のアプリで、OnBecameVisible(), OnBecameInvisible()にて、オブジェクトがカメラに映り込んでいるかどうかを判定し・・、という処理を作っていたのですが、どうにも思い通りに動かない。 明らかにカメラからオブジェクトが外れているにもかかわら…

KUDAN SDKを使って、Gear VRでどこでもドア(2)

前回は、Gear VRで「どこでもドアに近づく」体験を実現すべく、まずはマーカレスARが可能なKUDANをインストールしました。 今回は、KUDAN SDKを利用して、ポジショントラッキング機能を実装し、どこでもドアに近づいてみます。www.youtube.com Kudan Camera …

KUDAN SDKを使って、Gear VRでどこでもドア(1)

前回は、Unity Native VRでどこでもドア(ポータル)を実装しました。前回の予想どおり、前回開発したものをそのままGear VR向けにビルドしたところ、問題なく動作しました。 ただし、Gear VRにはポジショントラッキングがないため、どこでもドアに近づくこ…

どこでもドア(ポータル)をUnity NativeのVRで実現してみる

VRでどこでもドア体験、ぜひやってみたい!と思うのですが、関東在住ではないので、気軽に行けそうにありません。 www.doraeiga-vr.comそこで、Oculus Rift向けに作ってみようと思ったのですが、RenderTextureをごにょごにょして・・と色々考えたものの、ど…

シーン内GameObjectの初期化の順序などについて

シーン内GameObjectの初期化の順序について、私はごく最近まで「シーン内のGameObjectは入れ子構造の親から順に初期化、子はシーンの上にあるものから順に初期化」される、と勘違いしていました。 +GameObject1 | | | +---GameObject2 | +---GameObject3なら…

VR広告SDK「Immersv」を組み込んでみました

モバイルVRアプリ開発において「マネタイズ」は大きな課題です。一般的にモバイル向けアプリ(特に個人開発者)のマネタイズ手段は広告であり、各種提供されている広告SDKをアプリに組み込むことで、アプリ内で広告を表示し、実績に応じて広告収入を得る、と…

getterのケアレスミスでUnityクラッシュ

以下のコードですが、 private int _curNum; public int curNum { get { return curNum; } set { _curNum = value; } } 正しくは、「return _curNum;」としなければなりません。 なお、上記の間違いコードを実行すると、Unityがクラッシュします。 スタック…

Quadで円形プログレス

uGUIのImageは、fillAmountを使って簡単に円形のプログレスができるのですが、SpriteやQuadにはfillAmountに相当する機能がないようです。 こちらやこちらに、Quadを使った円形プログレスの実現方法があるのですが、予め0→360度でα値を1→0とした画像を…

Oculus Touchをつかってみる

Oculus Touchが出荷され、約一月が経ちました。Oculus StoreにはOculus Touch対応コンテンツが多数並び、Oculus Touchの凄さを体験できるわけですが、一方で開発向きとなるとまだ情報が足りない状況のようです。 今回は、Oculus Touchの練習用に作成したコン…

VR Trip around the world

私が開発したVRゲーム「VR Trip around the world」が、幸運にもVRゲームコンテストMSI VR JAMのファイナリストに残りました。プレーヤーは、指定された場所で写真を撮影すべく広大なVRの世界を飛び回ります。VR世界の移動、となると最も懸念の課題が「VR酔…

Vuforia for Unityを使って(擬似)ハンドトラッキング

前回、Viforia for Unityの機能を活用し、Google Cardboardでポジショントラッキングを実現する方法について記載しました。同様に、Vuforia for Unityを使うことで(擬似)ハンドトラッキングも可能です。 Vuforiaでは直接「手」を認識することはできません…

UNIBOOK7で、ThetaSによる360度立体視映像配信について書かせていただきました

知人に紹介いただいたことがきっかけで、UNIBOOK7の「第8章 ThetaSを使った360度立体視映像配信」を書かせていただきました。 半年ほど前、ThetaSを2台使った360度立体視の撮影・配信についてブログにかきましたが、その当時は、私の知識不足&当時作…

Oculus Touch + Daydream View

Oculus TouchとDaydream View、それにPixelが一気に届きました。週末はいじり倒します!

Vuforiaの認識精度を上げるには

はじめに 前回、Vuforia for UnityのExtended Tracking機能を利用してGoogle Cardboardでポジショントラッキングということで記事を書いたところ、ブログ始めて以来の反響、非常に驚きました。モバイルVRでもポジショントラッキングをやりたい、というニーズ…

Vuforia for UnityのExtended Tracking機能を利用してGoogle Cardboardでポジショントラッキング

はじめに Google CardboardやGear VRなど、スマホを利用したいわゆる「モバイルVR」は、Oculus Rift/HTC Vive等と比較し、値段が安くお手軽にVR体験を楽しむことができます。一方で、Oculus Rift/HTC Viveには搭載されているハンドデバイス(Oculus RiftのOc…

Daydream technical previewを使ってみる

はじめに 先月注文したPixelとDaydream View、ようやく発送されました。ただ諸事情により手元に届くのは、あともう二週間後になりそうです。 今回は、実機入手後すぐに開発にとりかかるべく、Unity Daydream technical previewの導入を試してみたいと思いま…

Google VR SDK for Unityをより詳細に見てみる

前回は、Google VR SDK for Unityをインストールし、付属のDemo SceneをとりあえずAndroid端末上で実行してみました。特段なにもはまることなく、スムーズに実行まですすめることができました。 一方で、Demo Scene内のオブジェクトを見てみると、Google Car…

Google VR SDK for Unityを使ってみる

Googleの10月4日のイベントで、最新のVRヘッドセットDaydream Viewが発表されました。軽くて装着感もよさそうだし、$79という低価格は非常に魅力的です!私も早速手に入れて色々開発してみたいところなのですが、当面日本での発売は予定されていないとのこと…

Unityで3DカメラIntel RealSenseを使ってみる

これまで、ThetaSやスマホを2台使いすることで360度立体視映像を撮影するアプリケーションを作成してきました。これら端末を2台使いすることで左右視差のある映像を録画し、背景部分を除去して背景とCGを重畳することで、かんたんに360度立体視コン…

プリレンダリングの360度立体視CGとカメラ入力映像を重畳し、エンコードする

前回は、Maker Faire Tokyoに出展したVR撮影システムについて、360度立体視CGのプリレンダリングのやり方について書きました。 今回は、その360度立体視CGと、カメラ(魚眼レンズを付けたiPhone2台)入力画像を重畳し、mp4動画ファイルとしてエンコー…

Unityで360度立体視CG映像を作る

前回は、Maker Faire Tokyoに出展したVR映像撮影システムのハードウェア構成について書きました。 今回は、背景となる360度立体視CG映像をUnityで作成する方法について書きたいと思います。【第1回】VR撮影システムのハードウェア構成 【第2回】360度立体…

Maker Faire Tokyoに出展

8/6-7、東京ビックサイトにて開催されたMaker Faire TokyoにVR撮影システムを出展しました。この準備に多忙だったため、前回のブログからかなり期間が開いてしまいましたが。。 出展内容は、Maker Faire Bay Areaに出展した内容と基本同じですが、以下の点で…

Google Cardboard的AR端末 Seebright Rippleが来ました(2)

前回組立のみ完了したSeebright Rippleですが、たまたまSeebright社のJohnさんとお会いする機会があり、SDKへアクセスする方法を教えていただきました(公式のHPではまだ公開はされていないようです)。 早速このSDKを利用して、簡単なテストアプリを作成し…

Google Cardboard的AR端末 Seebright Rippleが来ました(1)

以前ご紹介した、たった$39の、Google Cardboard的AR端末、Seebright Rippleが届きました。 開封すると、プラスチック等のパーツがたくさん。 うーん、面倒くさそう。組立説明書は同梱されておりません。Seebright RippleのWEBサイトにある、組立説明の動画…

【Unity開発Tips】ButtonでInputField的なGUIコンポーネントを作る

前回書いた通り、iOS/Androidでは、uGUIのInputFieldを選択すると、OS固有のタッチスクリーンキーボードが立ち上がってしまいます。このため、iOS/Androidでは、uGUIのInputFieldと連動したバーチャルキーボードの実現は困難です。 今回は、InputFieldの使用…

【Unity開発Tips】InputFieldクリック時にバーチャルキーボードを表示【モバイル未解決】

前回少し触れましたが、VR向けバーチャルキーボードを開発しています。 入力したいInputFieldの方を向いてクリック(Cardboard右上のボタンを押下)すると、バーチャルキーボードが現れ、任意の文字を入力、最後にキーボード右下の「キーボードを隠す」ボタ…

【Unity開発Tips】Unityライブラリに含まれるクラスのエディタ拡張

Unityを使って開発をしていると、例えばuGUIのGUI部品(ボタンなど)に独自拡張を加えたい、という場合が出てきます。この拡張が、例えば見た目等、Inspectorの内容を変更するものだったり、子オブジェクトを追加したり、ということで対応可能であれば、イン…

AWE2016で見つけたクールな技術

先日AWE2016というARのカンファレンス・展示会へ行ってきました。そこで見つけたSEEBRIGHT RIPPLEという端末が非常に面白かったので、紹介したいと思います。 この端末、スマートフォンを差し込んで使うタイプのAR端末です。この端末、非常に安価($39.99)…

Cardboardで360度立体視動画ビューワーを作る(4)

全体構成 【第一回】Cardboardで360度立体視ビューワーアプリを開発 【第二回】ThetaSを二台使用して360度立体視動画の撮影と配信 【第三回】Oculusを利用してTheta撮影映像をリアルタイム視聴 【第四回】ThetaS撮影映像とCGを重畳したビデオを生成 は…

メイカーフェアー終了しました!

5月20日~22日、シリコンバレーのサンマテオにて開催されたメイカーフェアーに、VRシステムを出展しました。 本システム、THETA Sを2機使用して左右両眼用の360度立体視動画を撮影、本撮影映像のバックに「月面」「ハロウィーン風」等の背景を重畳…

SVVRで見つけた興味深い技術たち

現在、5月21日に開催のメイカーフェアーに向けて睡眠時間を削りながら開発の毎日です。このような状況なので、開発ブログは少しお休みして、先月末に開催されたSVVRで見つけた興味深い技術をご紹介したいと思います。 VORTX VORTXは、WhirlwindVRという会…

Cardboardで360度立体視動画ビューワーを作る(3)

全体構成 【第一回】Cardboardで360度立体視ビューワーアプリを開発 【第二回】ThetaSを二台使用して360度立体視動画の撮影と配信 【第三回】Oculusを利用してTheta撮影映像をリアルタイム視聴 【第四回】ThetaS撮影映像とCGを重畳したビデオを生成 は…

Oculusのインストールにはまる

待ちに待ったOculusがようやくきました。合わせて購入したOculusPC(ASUS G11CD)、起動するとOculus Downloadのアイコンが。 Oculus Readyの認証をとっているPCということもあり、コンシュマー向け製品として簡単にインストールできるようになっているのだろ…

Oculus来ました!

本日Oculus来ました!これで、メイカーフェアーに向けた次の開発が進められます!その前に、いろいろ遊んでみます。。

Lucid Cam

今日は地元で開催されたVRステレオカメラのミートアップに参加しました。このカメラLucidCamは、180度撮影可能なカメラを2機搭載しており、ステレオ4K動画(秒60フレーム)を撮影可能です。単純比較はできませんが、同価格帯の他社機よりハイスペックかと…

Magic Leapが少しずつ明らかになってきています

WIREDにて「謎のARデバイス」Magic Leapの特集がされています。これまでデバイスに関する情報はほぼ皆無でしたが、今回キーデバイス(だと思われる)について言及がありました。このレンズ(?)を通して現実世界を見ることで、その現実世界に様々な3DCG拡…

Cardboard向けバーチャルキーボードを作ってみる

はじめに Google Cardboardには、二種類の入力手段が用意されております。一つはGaze、画面中央に対象物が来るように首を動かすと、ゲージが現れます。ゲージがいっぱいになるまでそのままの状態を保つことで、対象物へのアクセスが可能となります。もう一つ…

Cardboardで360度立体視動画ビューワーを作る(2)

全体構成 【第一回】Cardboardで360度立体視ビューワーアプリを開発 【第二回】ThetaSを二台使用して360度立体視動画の撮影と配信 【第三回】Oculusを利用してTheta撮影映像をリアルタイム視聴 【第四回】ThetaS撮影映像とCGを重畳したビデオを生成 は…

Cardboardで360度立体視動画ビューワーを作る(1)

全体構成 【第一回】Cardboardで360度立体視ビューワーアプリを開発 【第二回】ThetaSを二台使用して360度立体視動画の撮影と配信 【第三回】Oculusを利用してTheta撮影映像をリアルタイム視聴 【第四回】ThetaS撮影映像とCGを重畳したビデオを生成 は…

Oculusの出荷が遅れているようです(2)

先ほどOculusからメールがきました。出荷は、5/2〜12となる、とのこと。予約開始と同時に注文をしたのですが、それでも一ヶ月以上の遅延となるようですね。 遅延の理由は部材の不足、とのことですのが、これ以上の遅延にならないことを祈るばかりです。

CardboardでVRアプリを作ってみる(6)

はじめに 前回までで、次々と出現する敵を倒すというゲームの中核部分は完成しました。 今回は、ゲームオーバとコンティニュー処理を追加し、ゲームとして一通り完成させます。 CardboardでVRアプリを作ってみる(全体構成) 第1回(Cardboardのビルド) 第…

CardboardでVRアプリを作ってみる(5)

はじめに 前回は、敵を撃退するための機能を実装しました。かなりゲームらしくなってきたものの、今はシーンに配置したスケルトンを撃退するだけなので、あっという間にゲームが終了してしまいます。 今回は、スケルトンの登場処理を追加し、スケルトンを撃…

Oculusの出荷が遅れているようです

今朝方Oculusより「在庫が不足しているため、出荷が遅れている」旨のメールが。まずは4月12日までにオーダー状況をアップデートしてくれる、とのこと(今まで音沙汰ありませんでした)。 手元に届くのは4月下旬頃でしょうか?プリオーダ開始とほぼ同時に…

Oculus Rift 出荷開始!

娘を学校に送りがてら聞いていたラジオから「Oculus Riftが今日から出荷開始!」とのニュース。待っていました!先週くらいに「1−3週間の内に出荷」とのメールが来ていたので、そろそろか、とは思っていましたが、ようやくです。Oculusのブログにも、その…