ARKit 获取识别到的水平面

承接ARKit案例开发/宣传Demo开发/游戏开发  QQ:2118590660

ARKit入门到精通系列 (视频教程地址)

http://edu.manew.com/user/98138​​​​​​​

 

ARKit 识别到平面后会以委托的方式传出来 

分别为 添加一个平面、 更新平面、移除平面

 

        public delegate void ARAnchorAdded(ARPlaneAnchor anchorData);
        public static event ARAnchorAdded ARAnchorAddedEvent;

        public delegate void ARAnchorUpdated(ARPlaneAnchor anchorData);
        public static event ARAnchorUpdated ARAnchorUpdatedEvent;

        public delegate void ARAnchorRemoved(ARPlaneAnchor anchorData);
        public static event ARAnchorRemoved ARAnchorRemovedEvent;  

 

我这边写个小测试,在它每识别出一个新的平面的时候创建物体

 

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR.iOS;

public class GameController : MonoBehaviour {

	public GameObject obj;
	void OnEnable()
	{
		UnityARSessionNativeInterface.ARAnchorAddedEvent += MyARAnchorAdded;
	}

	void OnDisable()
	{
		UnityARSessionNativeInterface.ARAnchorAddedEvent -= MyARAnchorAdded;
	}

	void MyARAnchorAdded(ARPlaneAnchor anchorData)
	{
		GameObject currentObj = GameObject.Instantiate (obj) as GameObject;
		currentObj.transform.position = UnityARMatrixOps.GetPosition (anchorData.transform);
	}
	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
		
	}
}

 

 

 

 

 

 

你可能感兴趣的:(ARKit 获取识别到的水平面)