И опять этот RayCast! (решено!)
BassPiraT92 Дата: Четверг, 11 Июня 2020, 23:03 | Сообщение # 1
участник
Сейчас нет на сайте
Подскажите как сделать рэйкаст из UI элемента в сторону которую направлен этот элемент по отношении к камере?
Сообщение отредактировал BassPiraT92 - Пятница, 12 Июня 2020, 11:12
Ordan Дата: Пятница, 12 Июня 2020, 02:07 | Сообщение # 2
Главный зомби
Сейчас нет на сайте
https://www.youtube.com/watch?v=ZWB4d3cY-fE&feature=youtu.be Вот тут парень доходчиво объясняет про рейкасты от камеры и тд и тп.
Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2) Мои проекты ТЫК Мои видяхи на ютубэ ТЫК Если ты споришь с идиотом, вероятно тоже самое делает и он.
shizofren Дата: Пятница, 12 Июня 2020, 06:59 | Сообщение # 3
Starting MS-DOS...
Сейчас нет на сайте
BassPiraT92 , получить позицию элемента на экране. Найти основную камеру и через ScreenPointToRay сделать рейкаст.
Моя команда
BassPiraT92 Дата: Пятница, 12 Июня 2020, 08:57 | Сообщение # 4
участник
Сейчас нет на сайте
Ordan , Спасибо друг! Все оказалось проще чем я думал
Код
[SerializeField] Transform Pricel; RaycastHit hit; public void OnPointerClick(PointerEventData eventData) { if(Physics.Raycast(Camera.main.ScreenPointToRay(new Vector2(Pricel.position.x, Pricel.position.y)),out hit)) { if (hit.transform.gameObject.tag == "Rat") { Debug.Log("Rat!"); } else { Debug.Log("Not found target!" + hit.transform.name); } } }
shizofren Дата: Пятница, 12 Июня 2020, 15:57 | Сообщение # 5
Starting MS-DOS...
Сейчас нет на сайте
>> hit.transform.gameObject.tag Используй CompareTag, это намного быстрее, чем сравнение строк.
Моя команда
drcrack Дата: Пятница, 12 Июня 2020, 18:21 | Сообщение # 6
старожил
Сейчас нет на сайте
дело не в том что он "намного" быстрее (процентов на 50 максимум), а в том что обращение к .tag вызывает выделение памяти в куче и соответственно приближает сборку мусора
Сообщение отредактировал drcrack - Пятница, 12 Июня 2020, 18:21
BassPiraT92 Дата: Воскресенье, 14 Июня 2020, 14:28 | Сообщение # 7
участник
Сейчас нет на сайте
drcrack , shizofren , спасибо за хороший совет! Для мобилок лучше оптимизируется