Народ. Я пытаюсь создать и разместить ui панели над коллайдерами

которые находятся в массиве. Для этого я написал этот код. Я пытаюсь присвоить панелям позицию коллайдера, однако в итоге позиция получается фиг знает где с огромными числами за пределами экрана. Кто-то может подсказать каким образом передать корректную позицию?


for(int i = 0; i < towerColliders.Length; i++)
{
panels[i, 0] = Instantiate(BuyPanel, Canvas.transform, false);
var rectTransform = panels[i, 0].GetComponent<RectTransform>();
rectTransform.position = new Vector3(towerColliders[i].transform.position.x, towerColliders[i].transform.position.y + panelPositionDistance, 0);

panels[i, 1] = Instantiate(ChangePanel, Canvas.transform, false);
var rectTransform2 = panels[i, 1].GetComponent<RectTransform>();
rectTransform2.position = new Vector3(towerColliders[i].transform.position.x, towerColliders[i].transform.position.y + panelPositionDistance, 0);

}

6 ответов

15 просмотров
Валерий- Автор вопроса

Так кто-то может пожалуйста подсказать что делать в данной ситуации?

Если коллайдеры находятся в мире и ты хочешь UI-элементы поместить там, где они в мире, надо использовать https://docs.unity3d.com/ScriptReference/Camera.WorldToScreenPoint.html

Валерий- Автор вопроса
Paul Dy
Если коллайдеры находятся в мире и ты хочешь UI-эл...

Все равно какие-то странные цифры в позиции получаются. Может я делаю что-то не так? rectTransform.position = cam.WorldToScreenPoint(new Vector3(towerColliders[i].transform.position.x, towerColliders[i].transform.position.y + panelPositionDistance, 0));

Валерий- Автор вопроса
Валерий
Все равно какие-то странные цифры в позиции получа...

Я у меня коллайдеры находятся внутри grid, чтобы они вместе с тайловой картой двигались.

Валерий- Автор вопроса

Все равно не работает(

Валерий
Все равно не работает(

Должно, посмотри настройки канваса и своего UI элемента. От scaleFactor еще может зависеть. В целом в интернете полно примеров https://answers.unity.com/questions/26676/can-you-make-a-guibox-follow-a-players-positionsol.html https://forum.unity.com/threads/health-bar-over-enemy.26014/

Похожие вопросы

Обсуждают сегодня

Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
3
Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Как можно это ускорить? Суть, есть база грязная, в ней туча дублей, дубли разные могут содержать дополнительные полезные поля. Нужно найти эти дубли, выбрать из них самый пол...
Денис Александрович
2
Карта сайта