平面検出 - 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));