Кнопки не запускают создание объекта в AR UnityC#

Место общения программистов C#
Ответить
Anonymous
 Кнопки не запускают создание объекта в AR Unity

Сообщение Anonymous »

У меня есть эта задача. Мне нужно реализовать две кнопки, при нажатии на них появится префаб. при запуске я вижу, что размещаемое поле префаба обновляется, но фактического нажатия кнопки не происходит (я добавил вывод журнала на консоль при нажатии кнопки). Не понимаю в чем проблема, ведь проект я создавал через AR Core и через 3D. Ничего не работает. Помогите, пожалуйста
введите описание изображения здесь[введите описание изображения здесь](https://i.sstatic.net/Um0ra4uE.[введите описание изображения здесь](https://i. sstatic.net/3GEpWTil.png)png) введите здесь описание изображения
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR.ARFoundation;
using UnityEngine.XR.ARSubsystems;

[RequireComponent(typeof(ARRaycastManager))]
public class NewBehaviourScript : MonoBehaviour
{
private ARRaycastManager raycastManager;
private GameObject spawnedObject;
private List placedPrefabsList = new List();
[SerializeField]
private int maxPrefabSpawnCount;
private int placedPrefabCount;
public GameObject placeablePrefab;
static List s_Hits = new List();
private void Awake()
{
raycastManager = GetComponent();
}

bool TryGetTouchPosition(out Vector2 touchPosition)
{
if (Input.touchCount > 0) // Проверяем, есть ли хотя бы одно касание
{
Debug.Log("Input.touchCount: " + Input.touchCount); // Выводим количество касаний

if (Input.GetTouch(0).phase == TouchPhase.Began)
{
Debug.Log("Touch detected at position: " + Input.GetTouch(0).position);
touchPosition = Input.GetTouch(0).position;
return true;
}
else
{
Debug.Log("Touch phase is not Began: " + Input.GetTouch(0).phase);
}
}

touchPosition = default;
return false;
}

private void Update()
{
if (!TryGetTouchPosition(out Vector2 touchPosition))
{
return;
}
if (raycastManager.Raycast(touchPosition, s_Hits, TrackableType.PlaneWithinPolygon))
{
var hitPose = s_Hits[0].pose;
if (placedPrefabCount < maxPrefabSpawnCount)
{
Debug.Log("1");

SpawnPrefab(hitPose);
}
}
}
private void SpawnPrefab(Pose hitPose)
{
spawnedObject = Instantiate(placeablePrefab, hitPose.position, hitPose.rotation);
placedPrefabsList.Add(spawnedObject);
placedPrefabCount++;
}

public void SetPrefabType(GameObject prefabType)
{
placeablePrefab = prefabType;
}
}```

I'm trying to make certain prefabs appear when I click on them


Подробнее здесь: https://stackoverflow.com/questions/792 ... n-ar-unity
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»