У меня есть эта задача. Мне нужно реализовать две кнопки, при нажатии на них появится префаб. при запуске я вижу, что размещаемое поле префаба обновляется, но фактического нажатия кнопки не происходит (я добавил вывод журнала на консоль при нажатии кнопки). Не понимаю в чем проблема, ведь проект я создавал через AR Core и через 3D. Ничего не работает. Помогите, пожалуйста
У меня есть эта задача. Мне нужно реализовать две кнопки, при нажатии на них появится префаб. при запуске я вижу, что размещаемое поле префаба обновляется, но фактического нажатия кнопки не происходит (я добавил вывод журнала на консоль при нажатии кнопки). Не понимаю в чем проблема, ведь проект я создавал через AR Core и через 3D. Ничего не работает. Помогите, пожалуйста [img]https://i.sstatic.net/7mRjlIeK.png[/img]
[img]https://i.sstatic.net/Um0ra4uE.png[/img]
[img]https://i.sstatic.net/3GEpWTil.png[/img]
[img]https://i.sstatic .net/3d1XnelD.png[/img]
[code]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");
public void SetPrefabType(GameObject prefabType) { placeablePrefab = prefabType; } } [/code] Я пытаюсь, чтобы определенные префабы появлялись, когда я нажимаю на них