У меня есть эта задача. Мне нужно реализовать две кнопки, при нажатии на них появится префаб. при запуске я вижу, что размещаемое поле префаба обновляется, но фактического нажатия кнопки не происходит (я добавил вывод журнала на консоль при нажатии кнопки). Не понимаю в чем проблема, ведь проект я создавал через 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
Кнопки не запускают создание объекта в AR Unity ⇐ C#
Место общения программистов C#
-
Anonymous
1733699352
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
Подробнее здесь: [url]https://stackoverflow.com/questions/79263510/buttons-do-not-trigger-the-creation-of-an-object-in-ar-unity[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия