
AR Foundation の Plane 表示切り替えする方法
AR Foundation の AR Plane Managerを使用して平面検出したところPlaneを表示することができます。
このPlaneをアプリケーション上で表示/非表示の切り替えを行う方法について説明します。
Planeの表示切り替えスクリプト
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR.ARFoundation;
[RequireComponent(typeof(ARPlaneManager))]
public class PlaneDetection : MonoBehaviour
{
private bool m_PlaneVisible = false;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
foreach (var plane in m_ARPlaneManager.trackables)
{
plane.gameObject.SetActive(m_PlaneVisible);
}
}
public void SetAllPlanesActive()
{
m_PlaneVisible = !m_PlaneVisible;
}
void Awake()
{
m_ARPlaneManager = GetComponent<ARPlaneManager>();
}
ARPlaneManager m_ARPlaneManager;
}
ARPlaneManagerのtrackablesに生成されたPlaneを取得することができます。
AR Session Originにスクリプトを追加
上記のスクリプトをAR Session Originに追加します。
表示切り替えの呼び出し
ボタンなど表示切り替え時にPlaneDetectionスクリプトのSetAllPlanesActiveを呼び出すことで、生成されたPleneのアクティブ状態を切り替えることができます。
最後に
OnePlanetは、AR技術をベースに未来のユーザー体験/ユースケースを創造することに挑戦しているARスタートアップです。
様々なテクノロジーにより現実とバーチャルの境界は日々曖昧になり、すでに信じられないような感動体験ができる世の中になりつつあります。
そんなOnePlanetでは、参加してくれるメンバーを募集中です!