HoloLensタグの記事が100件を超えたようで。この時期にHoloLensを使った開発に関われていることはラッキーですね。
Vuforiaに関する記事、特に導入編は溢れており、私がまとめる必要もないのですがHoloLens開発にあたり欠かせないツールの一つであることは間違いないのでここで軽くまとめておきます。
#ゴールまで
Unity上でテスト -> HoloLens上で実用
#Version
- Unity 5.6.1f1 Personal
- vuforia-unity-6-2-10.unitypackage
#Vuforia Developer Portal
Vuforia Developer Portal
##Vuforiaができること
- 多様なマーカの認識 (記事内でTargetをほぼ同じ意味合いで使ってます)
- 2Dイメージ
- 3Dボックス
- 3Dシリンダー
- 3Dオブジェクト
- クラウドから認識(有料版)
- 画像の認識可能性をレーティング(星5つまで)
- 導入がめちゃくちゃ楽(とくに内蔵カメラとの連携が超楽)
- 無料でも十分その機能を楽しむことができる
##まず
アカウント登録してください。
…
##準備
###ポータルサイト側
-
Downloads -> SDK -> Download for Unity でパッケージ取得
-
Develop -> License Manager ->Add License Keyでライセンスキー取得
-
ライセンスキーの名前をクリックし、License Keyをコピー
-
Develop -> Target Manager -> Add Database でDatabaseを作成。今後その中に認識用マーカーを保存していく。
-
Develop -> TargetManager -> [Database名] ->AddTargetでマーカーの登録
-
今回はSingleImageを選択。Widthは適当に100(あとでUnity上のインスペクターで調節可)、Heightは勝手に計算してくれるそうです。
-
Target一覧に追加したTargetが表示される。Ratingは画像認識のしやすさを表す。
- Doznload Database(All)クリックでUnityPackageファイルをダウンロード
###Unity側
まず、ここまでダウンロードした2つのPackageをインポート。(Database
のアセットはStreamingAssets
に入っており、このフォルダの価値を再認識。(再掲) HoloLens上でスクリプトを用いて外部ファイルの読み込みをしたい
MainCamera
の代わりにARCamera
プレハブを、認識したい2Dターゲットの数に合わせてImageTarget
プレハブをシーンに追加(ScreenShot内ではKing二回目済)。
ImageTarget
認識時に表示したいオブジェクトをImageTarget
の子オブジェクトとして追加。
####ARCamera
-
ARCamera
のインスペクターからOpen Vuforia configuration
をクリック。Vuforia
->Add License Key
欄に記事最初部分でコピーしておいたライセンスキーをコピペ。 -
Database
をインポートするとDataSets
欄にLoad [Database名] Database
があるのでチェック→Activateもチェック (※この欄はデータベースを追加するごとにチェックする必要があるので、後からデータベースを加える場合は忘れないように注意。)
####ImageTarget
ImageTarget
のインスペクター上のImage Target Behaviour
のDatabase
とImageTarget
をそれぞれ指定。
####内蔵カメラ
とくに何もする必要なし!
####ターゲットの用意
もちろんプリントしてもいいし、パソコン画面やiPhone画面からの画像でも認識可。
##実行!(Unity Editor上)
こんな感じです
なおiPhoneがバッキバキになっているのはこの記事とは何の関係もありません。(これくらいのひび割れなら認識に問題はなさそうです。)
画像の角度が際どく認識が難しい場合、画像認識後であればある程度までは追跡して子オブジェクトを追跡してくれる。
認識前 | 認識後 |
---|---|
#以上
HoloLensへの導入も簡単そう、あとはどう使うかですね
#ところが… [追記]
HoloLensで動作させて見るとビームが前進しておらず、自分に逆流している。
Vuforia
はバージョン6.1
からHoloLensに対応しました。HoloLens上でしっかりと動かすためには設定をかえなければ行けないようです。
##Vuforia Configuration
ARCamera
の子オブジェクトカメラは以下の設定により非アクティブ化されるのでHoloToolKit
のHoloLensCamera
をMainCamera
として追加することをおすすめします。また、Camera
のNear
設定は手元の物を認識させたいため0.01
にしました。
-
DigitalEyewear
->Eyewear Type
をOptical See-Through
に -
DigitalEyewear
->See Through Config
をHoloLens
に
ARCamera
インスペスクタのVuforia Behaviour
のCentral Anchor Point
にHoloLensCamera
を設定
無事、ビームが口からでました。
#HoloLens開発記事一覧
こちらから