Tips

TextかImageを点滅させる

TextかImageのコンポーネントを持っているオブジェクトに以下のスクリプトをアタッチするだけ

こんな感じで再生される
00033

TangoSDKでDepthを取得してPoint Meshで表示する(Phab2Pro)

TangoSDKのインポートまではTangoSDKで簡単なサンプルを作ってみると同じ

1.TangoSDKのPrefabを追加

HierarchyにTangoPrefabs以下の「Tango Manager」と「Tango Simple Camera」、「Tango Point Cloud」を追加する
00025

2.各種設定

Tango Managerの「Enable Depth」にチェックを入れ、Depthを取れるようにする
00026

Tango Point CloudのMesh Rendererをアクティブにする
そして「Update Points Mesh」にチェックを入れ、取得したDepth情報をメッシュで表示できるようにする
00027

また、表示されるメッシュを見やすくするため背景を黒に変更する
Tango Simple Camera以下の「Gesture Camera」に設定されているClear FlagsをSolid Colorに変更し、その下で背景色を黒に変更する
00028

3.BuildSettingの設定

これもTangoSDKで簡単なサンプルを作ってみると同じ

PlatformをAndroidに変更し、PlayerSettingsで以下の部分を変更する

  • Resolution and PresentationのDefault Orientatiionを「Landscape Left」に変更
  • Other SettingsのMinimum API Levelを「Android 4.2」以上に変更
  • その他はAndroidアプリを作るときと同じでBundle Identifier等を設定
  • 4.ビルド

    後はビルドするだけ
    実行するとこのような感じに
    00029
    画像だと判りづらいけど、Depthを取得して表示されていることが判る

    TangoSDKで簡単なサンプルを作ってみる(Phab2Pro)

    日本でもPhab2Proが発売されたのでメモ

    1.TangoSDKを入手

    公式サイトからUnity向けパッケージ(TangoSDK_Argentine_Tango_Unity5.unitypackage)をダウンロードする

    2.Unityにインポート

    「Google-Unity」「Plugins」「TangoPrefabs」「TangoSDK」の4つのフォルダが生成される
    00021

    3.TangoSDKのPrefabを追加

    HierarchyにTangoPrefabs以下の「Tango Manager」と「Tango Simple Camera」を追加する
    00022

    4.表示するオブジェクトを追加

    適当に表示するオブジェクトを追加する(ここではユニティちゃん)
    Positionの数値が実空間でのメートルに換算されるので、カメラが(0,0,0)に配置されているなら、(0.5,0,0)辺りに設置することで50cm先に表示される
    カメラが(0,0,0)だと目の前に足が表示されてしまうので顔の正面になるように高さを調節した
    00023

    5.BuildSettingの設定

    PlatformをAndroidに変更し、PlayerSettingsで以下の部分を変更する

  • Resolution and PresentationのDefault Orientatiionを「Landscape Left」に変更
  • Other SettingsのMinimum API Levelを「Android 4.2」以上に変更
  • その他はAndroidアプリを作るときと同じでBundle Identifier等を設定
  • 6.ビルド

    後はビルドして端末で実行するだけ!
    00024

    これだとVRっぽいけど、カメラを「Tango AR Camera」に変更して、「Tango Manager」の設定を変更すれば、背面カメラの映像にモデルが描画されるようになるのでよりARっぽくなる

    カメラを動かした際に表示される青いラインはカメラのモーショントラッキングの軌跡
    非表示にするにはカメラ以下に存在している「Trail Renderer」を非アクティブにすればOK

    後はTangoSDK内のサンプルをいろいろ試してみよう

    3Dモデルビューワみたいなモノを実装する(スマホ向け)

    スワイプでオブジェクトを中心に回転する処理を実装する(スマホ向け)
    2本指スワイプでカメラを並行移動する処理を実装する(スマホ向け)
    ピンチイン/ピンチアウトでモデルを拡大/縮小する処理を実装する(スマホ向け)
    をまとめて、3Dモデルビューワのような機能をを実装する

    1.各オブジェクトの配置

    表示して眺めたい3Dオブジェクトを配置する。
    次に空のゲームオブジェクトを生成し、そのオブジェクトを先に配置したオブジェクトの中心に配置する。
    その下にMainCameraを配置する。位置は3Dモデルから少し離れた位置に。

    スクリプトをアタッチ

    空のゲームオブジェクトに以下のスクリプトをアタッチする

    画面をタッチしている指の本数で回転、移動、拡大の切り分けをしている
    2本指の場合は移動か拡大かを判別する必要があるので、2本の指が同じ方向に移動している場合は移動、異なる方向に移動している場合は拡大、と判別して処理を分けている
    また、2本指から1本になった際に回転が飛ばないように初期化するようにしている

    これでビューワっぽい操作ができる機能が実装出来たはず

    ピンチイン/ピンチアウトでモデルを拡大/縮小する処理を実装する(スマホ向け)

    スワイプでオブジェクトを中心に回転する処理を実装する(スマホ向け)
    2本指スワイプでカメラを並行移動する処理を実装する(スマホ向け)の続き

    ピンチイン/ピンチアウトで表示しているモデルを拡大/縮小表示する処理を実装する

    前回同様にオブジェクトを配置後、空オブジェクトに以下のスクリプトをアタッチする

    2本の指の距離を前フレームのものと比較して、その差分に応じてカメラを前後に移動させることで拡大/縮小しているように見せている

    この処理などを合わせてビューワっぽく実装したのがこちら