Ребят, кто-нибудь знает, как получить координаты виджета на экране, чтобы

потом их использовать для "Deproject Screen to World" функции?

14 ответов

24 просмотра

а в каком контексте это нужно, внутри самого виджета? или где-то снаружи?

Anatoly-Dovzhik Автор вопроса
norlin
а в каком контексте это нужно, внутри самого видже...

Идея: есть виджет ( прицел ), я хочу, чтобы не зависимо от того, где этот прицел находится, я мог сделать лайнтрейс в точку, куда прицел указывает. А повсюду гайды, как размер экрана разделить на два и стрелять в центр :( Через FGeometry какая-то лажа получается. Возможно, потому что я не до конца понимаю, как это работает. Если бы как-то материал на почитать или само решение... Тут уже был, но нихера не понял: https://baemincheon.github.io/2020/02/09/unreal-widget-coordinate-system/

Anatoly Dovzhik
Идея: есть виджет ( прицел ), я хочу, чтобы не зав...

я не помню как конкретно ноды называются, но надо смотреть что-то типа LocalToViewport, возможно оно не напрямую в виджете, а виджет->GetCachedGeometry->...

Anatoly Dovzhik
Идея: есть виджет ( прицел ), я хочу, чтобы не зав...

https://docs.unrealengine.com/5.1/en-US/BlueprintAPI/UserInterface/Geometry/LocaltoViewport/

Anatoly-Dovzhik Автор вопроса

Да. Пробовал. Но все равно хрень какая-то:

Anatoly-Dovzhik Автор вопроса
norlin
я не помню как конкретно ноды называются, но надо ...

Вот так делаю. Если не пиксель а вьюпорт брать, то вообще справа внизу оказывается красная точка лайнтрейса

Anatoly Dovzhik
Да. Пробовал. Но все равно хрень какая-то:

вот это я хз что такое. Попробуй GetCachedGeometry

a чем ты двигаешь эту точку, или она у тебя статичная?

Anatoly-Dovzhik Автор вопроса
norlin
screenshot вот это я хз что такое. Попробуй GetCachedGeometry

@Airzohan. Вот так заработало. Если использовать "Get Painted Space Geometry", тогда оно херачит немного в сторону. Если Cached или Tick Space Geometry, тогда норм. Ну и использовал из аутпутов Pixel Position ( Viewport Position не работает ). Большое спасибо за помощь.

очень конечно странная механика с прицелом в игре от первого лица) как правило делить пополам экран вполне достаточно

Anatoly-Dovzhik Автор вопроса
Иван Суровцев
очень конечно странная механика с прицелом в игре ...

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

Anatoly Dovzhik
Это не механика, а просто желание разобрать, как т...

когда прицел бегает обычно мышь используют и для этого достаточно достаточно позицию мыши конвертить

Anatoly-Dovzhik Автор вопроса
Иван Суровцев
когда прицел бегает обычно мышь используют и для э...

Но это если про стрельбу. А вообще пускать лучи из виджетов - это, мне кажется фишка не только для прицелов. Да. Похоже, что тут ты прав

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

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

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
12
На чём в основном щас пишут мини апы? Vuejs?
Goot evening Not everyone
5
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
9
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
🙋 Ребята, всем привет. Поправил задачу: Нужно каждому новому сообщению (1 раз по каждому юзеру) в чате прибавлять снизу кнопку с предложением подписаться на канал. Как добавит...
Alexander
1
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Карта сайта