Я получаю позицию xyz устройства iOS со значениями, отображаемыми на экране.Я пытаюсь создать график, как линии, чтобы определить эти значения, используя средство визуализации линий.Вот мой код:
using UnityEngine;
public class Main : MonoBehaviour
{
public LineRenderer lineRenderer;
int len = 2;
void Awake()
{
lineRenderer = GetComponent<LineRenderer>();
}
void Update()
{
if (Input.touchCount > 0 && m_HitTransform != null)
{
Debug.Log("Touch began");
var touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began || touch.phase == TouchPhase.Moved)
{
var screenPosition = Camera.main.ScreenToViewportPoint(touch.position);
ARPoint point = new ARPoint
{
x = screenPosition.x,
y = screenPosition.y
};
Vector3 pos3d = Camera.main.ScreenToWorldPoint(new Vector3(
m_HitTransform.position.x,
m_HitTransform.position.y,
m_HitTransform.position.z));
lineRenderer.SetVertexCount(len);
lineRenderer.SetPosition(len - 1, pos3d);
len++;
text.text = string.Format("X:{0:0.######} Y:{1:0.######} Z:{2:0.######}",
m_HitTransform.position.x,
m_HitTransform.position.y,
m_HitTransform.position.z);
// prioritize reults types
ARHitTestResultType[] resultTypes =
{
ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent,
// if you want to use infinite planes use this:
//ARHitTestResultType.ARHitTestResultTypeExistingPlane,
ARHitTestResultType.ARHitTestResultTypeHorizontalPlane,
ARHitTestResultType.ARHitTestResultTypeFeaturePoint
};
foreach (ARHitTestResultType resultType in resultTypes)
{
if (HitTestWithResultType(point, resultType)) return;
}
}
}
}
}