Posts Tagged “AR”

Vuforiaで大きいオブジェクトを表示するためのアドバイス

By |

Vuforiaで大きいオブジェクトを表示するためのアドバイス

Vuforiaで大きいオブジェクトを表示するためのアドバイス マーカーとそのサイズとの関係 VuforiaのImageTargetと表示されて欲しいオブジェクトのサイズは相関関係があります。 例えばオブジェクトを2m*2mのサイズで表示したい場合、ImageTargetのサイズを0.2m*0.2mにして、 印刷したイメージも0.2m*0.2mサイズに出力をしなければなりません。 もし正しく設定されていなければ、オブジェクトが表示されるときの比率が壊れてしまいます。 オブジェクトをその場に残す方法 大きいオブジェクトの全体を表示するためにVuforiaのExtended Trackingはとても便利です。 ImageTargetのオプションをEnableにすると、 イメージからスマートフォンのカメラがちょっと離れてTrackingがなくなっても、 オブジェクトが残ります。 ARCameraのゲームオブジェクトのWorld Center ModeオプションをCameraにすると、 オブジェクトを中心に回り込むような表示がかのうです。 イメージターゲットは床でも壁でも、Unity内でオブジェクトのローテーションを変えることで、対応可能です。 マーカーとカメラとの角度で発生する問題 オブジェクトのカメラを通しての見え方(カメラアングル)はマーカーを 認識したときにデフォルトの仰角が決まります。 床においたマーカーとスマートフォンのカメラとの角度に関する注意点 そのため、床にマーカーを置きオブジェクトを表示した場合、 カメラのポジション(デフォルトの仰角)はマーカーを認識した際決定されるので、カメラを水平にして、 オブジェクトが正面ではなく少しずれた表示になります。 床にマーカーを配置した際のスマートフォンのカメラとの距離に関する注意点 マーカーを床に置くとカメラとイメージが必然的に遠く離れるため(ユーザが立っている場合) マーカーとユーザーのスマートフォンのカメラとの角度が浅くなるので認識しずらくなります。 大きいオブジェクトのマーカーは壁に配置がおすすめ 壁にマーカーを配置する場合はその問題はないでしょう。 イメージを壁に置いたらその高さを測定し、 Unity内でのImageTargetの高さと現実の世界のイメージの高さを合わせてください。 イメージか、QRコードか 最近QRコードはとても人気になりました。雑誌とかデパートの製品とかにどこでも使みかけます。 VuforiaもQRコードが使えますが色々悪いポイントがあります、 大きな欠点はトラッキング(カメラからの認識)の問題です。 大きいオブジェクトを表示するには比較的大きなQRコードコードを全部をスキャンする必要があります。 カメラがQRコードを認識する際、スキャンの角度やライトの明るくさは足りないとTracking機能が正しく動作しないことが多くなります。 一方、イメージであればQRコードよりも認識の向上が期待できます。 イメージであれば、画像の一部を認識できれば、マーカーとして機能するからです。 (※QRコードは全体が認識されないとオブジェクトが表示されない) 認識率を上げるため適切な写真を選ばなければなりません。 Vuforiaが推奨するイメージの条件は下記の三つです。1)ディテールが多いイメージ。 →頂点が画像の中に多く含まれるイメージ 2)いいコントラストのイメージ。 3)同じパターンではなく、色々な形が含まれている写真のほうがいい。 →有機的なパターン https://library.vuforia.com/articles/Best_Practices/Attributes-of-an-Ideal-Image-Target 以上がカメラにやさしいイメージの条件ですが、一つ付け加えるならば方向が分かりやすいほうがよいでしょう。 3つの条件にあう写真に画像ソフトでマークを付けくわえれば、配置する際に人間にとって便利です。

HoloLensの開発(Unity)

By |

HoloLensの開発(Unity)

今回はUnityを使ってHoloLensでシンプルなCubeオブジェクトを表示するアプリをビルドしてみましょう。参考にするのは https://developer.microsoft.com/en-us/windows/mixed-reality/academy になります。 Microsoftの上記のドキュメントをしっかり読んでもいいですが、私のようにイライラしてしまうといけないのでCubeを出すのに必要な部分を抜き出して手順を下記に説明してみます。 まず、HoloLensの値段を見て絶望しないでください、HoloLensなしでも開発できます。ただし、HoloLensがない場合はWindows “Pro”が必要です(できればWindows 10) Windows”Home” ではHoloLensのエミュレータが動きません。では、早速始めましょう。 Unityで新しいプロジェクトを作ってください。 キャメラのセットアップ。Main Cameraを選択してインスペクターで: Positionを(0,0,0)にしてください。 Clear FlagsのドロップダウンをSkyboxからSolid Colorへ BackgroundをRGBA(0,0,0,0)にして「黒」 Near Clip Planeを0.85に プロジェクト設定 メニューバーのEdit > Project Settings > Qualityを選択します ウインドウズストアのロゴの下のドロップダウンからFastestを選択 メニューバーのEdit > Project Settings > PlayerのWindows StoreタブのOther Settingsで Virtual Reality Supportedをチェック Virtual Reality SDKsのリストにWindows Holographicが入っているを確認 ホログラムを作り Cubeでもシーンに入れて Cubeを選択された状態でインスペクターでPositionを(0,0,2)にしたらオブジェクトがユーザーのスタート位置から2m前にあるように見えます CubeのScaleも(1,1,1)だったら1mのCubeが見えますのでもうちょっと小さくしましょう(0.25,0.25,0.25)にしたら、25㎝のCubeになります。 シーンを保存 UnityからHoloLensでテスト(HoloLens必要) HoloLensのストアからHolographic Remoting Playerをインストールして、起動するとIPが表示され、待機状態になります UnityのメニューバーでWindow > Holographic Emulation.を選択…

Go Top