平面検出 - saitocastel1900/ARGame GitHub Wiki

現実世界の平面を検出して、タップした箇所からRayを飛ばして、ヒットした位置にオブジェクトを設置する。

AR関連コンポーネント

  • ARPlaneManagerは、平面を自動検出してくれる
  • ARPlaneManager->PlanePrefabには、平面検出時に表示する板のオブジェクトを設定
    Q.板が常時表示されてしまう問題
    A.表示される板を回収して、まとめて非表示にする
 foreach (var plane in _planeManager.trackables)
            {
                plane.gameObject.SetActive(false);
            }

  • ARRaycastManagerは、スクリーン上でタップした位置からレイを投射して、ゲームオブジェクトにヒットした位置を得ることができる
  • どの角度の平面でも、垂直になるように設置する
//Quaternion.FromToRotation(Vector3.up, raycastHit.normal)で平面上で上方向に向くために必要な値を求める
OnRaycastCallBack(raycastHit.point,Quaternion.FromToRotation(Vector3.up, raycastHit.normal));