Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Преобразование координат мыши. 3D графика / 18 сообщений из 18, страница 1 из 1
02.03.2015, 11:42
    #38892156
AidarH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
Всем доброго дня. Есть ViewPort3D. В нем есть камера. В viewport3D строится график.
Вопрос. Как по координатам мыши (если нажали кнопку мыши и через GetPosition имеем координаты) найти координаты точки на графике с учетом позиции камеры по координатам мыши? Заранее спасибо.
...
Рейтинг: 0 / 0
02.03.2015, 12:15
    #38892193
Ilya81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
Есть встроенное средство определения объекта по нажатию.
...
Рейтинг: 0 / 0
02.03.2015, 12:57
    #38892271
AidarH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
Ilya81Есть встроенное средство определения объекта по нажатию.

Спасибо огромное.
...
Рейтинг: 0 / 0
02.03.2015, 15:59
    #38892538
AidarH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
Ilya81Есть встроенное средство определения объекта по нажатию.

Еще вопрос такой. Мне надо мышкой нарисовать 3д объект (например куб). Если использовать HitTest из VisualTreeHelper то он находит точку именно с визуальном объектом (точка, линия и т.д.). А как мне получить координату именно для рисования объекта мышкой по координатам мышки? Заранее спасибо
...
Рейтинг: 0 / 0
03.03.2015, 10:26
    #38893204
AidarH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
AidarHIlya81Есть встроенное средство определения объекта по нажатию.

Еще вопрос такой. Мне надо мышкой нарисовать 3д объект (например куб). Если использовать HitTest из VisualTreeHelper то он находит точку именно с визуальном объектом (точка, линия и т.д.). А как мне получить координату именно для рисования объекта мышкой по координатам мышки? Заранее спасибо


Народ, помогите пожалуйста.
...
Рейтинг: 0 / 0
03.03.2015, 13:10
    #38893441
Ilya81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
Тут уже только своими силами рассчитывать из матриц свойств Transform камеры и при необходимости, каких-то объектов. Для камеры, надо полагать, будет обратная матрица для умножения. Ну и к тому ж тут надо как-то самостоятельно придумать, как восполнить недостающую координату для текущей двумерной проекции, т. е. на каком расстоянии помещать объект. Как-то так.
...
Рейтинг: 0 / 0
12.03.2015, 18:55
    #38902991
НемоКэп42
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
Может, поможет. Есть такая штука - 3D Tools . Качаешь. Там есть примеры. Один из мримеров называется InteractiveViewport3DSample - там можно двигать ползунки и изменять ими размер куба. Т. е. там привязки есть между контролами и параметрыми 3Д-объектов. Попробуй привязать их к координатам мыши.

Ещё там есть пример Channel9Demo. Там нажимаешь галочку "Truth" и получаетс забавный эффект - всё, что рисуется на 3Д поверхности мышью, один-в-один отображается на плоской полупрозрачной поверхности. Т. е. там курсор мыши и две точки этой поверхности (только с разных видов) как бы совмещены. Не знаю, может, это пригодится.
...
Рейтинг: 0 / 0
12.03.2015, 18:57
    #38902992
НемоКэп42
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
Ну и до кучи эта штука даёт бесплатное вращение сцены в 3Д (надо только декоратором обрамить в XAML) и ещё некоторые плюшки, типа намапливания полнофункционального интерактивного UI на 3Д поверхности. Причём это доведено по сложности до уровня детского сада. Ничего подобного ни в каком сраном Unity 3D нет, а на WPF уже сто лет в обед есть.
...
Рейтинг: 0 / 0
13.03.2015, 09:30
    #38903364
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
НемоКэп42,

чушь писать не надо, в XNA и в Unity сделать это не на много сложнее, чем в WPF.
единственный минус, это элементы управления, надо будет ручками создавать
...
Рейтинг: 0 / 0
13.03.2015, 10:23
    #38903435
НемоКэп42
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
Roman MejtesНемоКэп42,

чушь писать не надо, в XNA и в Unity сделать это не на много сложнее, чем в WPF.
единственный минус, это элементы управления, надо будет ручками создавать
В юнити нет богатых контролов с байндингами и прочим фаршем? - Каменный век!
...
Рейтинг: 0 / 0
13.03.2015, 10:24
    #38903439
НемоКэп42
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
Ага, не намного сложнее - всего-то изобрести нормальный UI-фреймворк.
...
Рейтинг: 0 / 0
13.03.2015, 11:47
    #38903570
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
НемоКэп42,

там немного другой подход, но сделать простецкое игровое меню с анимацией, некий игровой интерфейс там не сильно сложно. А расположить его на 3д полигонах будет даже проще. В играх и не сложно функциональных котролов. Они все довольно простые.
...
Рейтинг: 0 / 0
13.03.2015, 14:01
    #38903871
НемоКэп42
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
Roman Mejtes,

вы, наверное, не поняли, что с помощью 3D Tools в WPF я показал. 1 - Там созданы ИНТЕРАКТИВНЫЕ контролы и трёхмерный объект, которым они управляют. 2 - Затем, внимание, вся сцена с этим всем отрисована в текстуру (отрисовывается каждый кадр - т. к. интерактивность и нужно постоянно обновлять). 3 - Затем, ещё внимание, эта текстура намаплена на другой трёхмерный объект. 4 - Ну и уже этот объект - во вьюпорте окна. При этом, ещё внимание, первоначальные контролы остаются интерактивными, а не просто безжизненная текстура. И САМОЕ ГЛАВНОЕ, этого добились без километров кода - всего несколько строчек привязок и всё. А именно, контролы забайндинены на свойства параллелепипеда, свойство Visual вьюпорта этих контролов с параллелепипедом забайндинено на текстуру плоскости. Вот и вся магия. Конечно, под капотом это работает как куча всяких штук, типа отрисовки в текстуру, шейдера для этого дела, плюс ловится мышь в первом вьюпорте, затем каким-то образом её координаты передаются в текстуру, на которой напамлен вьюпорт с контролами и параллелепипедом, затем этому вьюпорту с этими контролами и потом уже определяется, по каким контролам попадание.

Вот именно такую лёгкость может обеспечить Юнити или XNA? Забубенить несколько объектов в нескольких вьюпортах, а потом несколькими байндингами связать всё это дело и чтобы всё оставалось интерактивным?
...
Рейтинг: 0 / 0
13.03.2015, 14:02
    #38903873
НемоКэп42
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
То, что в Юнити и прочих можно рендерить в текстуру я знаю. А можно ли это делать с сохранением интерактивности в этой отрендеренной текстуре, как у меня в примере?
...
Рейтинг: 0 / 0
13.03.2015, 14:04
    #38903877
НемоКэп42
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
Ни в каких играх, ни в каких юнитях не было и нет таких сложных интерфейсов, получаемых так легко и доступных в несколько строчек привязок. WPF всех обошёл на 10 лет. ВООБЩЕ ВСЕХ!
...
Рейтинг: 0 / 0
13.03.2015, 14:07
    #38903882
НемоКэп42
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
Придурки на хабрах всяких радуются, что у них какая-то примитивная хрень в типатридэ получается на сраном JS, хотя работает через пень-колоду и не у всех, плюс жрёт процессор и память как не в себя, требует поставить вебГЛ, хром, кучу JS накачивает и ещё что-то. А в WPF всё гораздо лучше, быстрее, совместимее, доступнее и легче было ещё 8 лет назад. Мир идиотов сошёл с ума. Остановите планету, я сойду.
...
Рейтинг: 0 / 0
13.03.2015, 15:08
    #38904003
Ilya81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
Встроенный 3D в WPF - это так, баловство, если сцена из двух кубиков, то можно. Если что-то посерьёзнее - там Z-Fighting почти не преодолевается, так что для реальной графики нужно что угодно полноценное (XNA, SlimDX, SharpDX, в конце концов сделать native для DirectX), а в WPF выводить через D3DImage.

Тут-то автору темы, похоже, нужно несложные трёхмерные диаграммы вывести, с этим встроенный движок справится, а вот будь что-то поосновательнее - 3D из WPF не подошёл б.
...
Рейтинг: 0 / 0
13.03.2015, 15:14
    #38904020
НемоКэп42
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование координат мыши. 3D графика
Ilya81Встроенный 3D в WPF - это так, баловство, если сцена из двух кубиков, то можно. Если что-то посерьёзнее - там Z-Fighting почти не преодолевается, так что для реальной графики нужно что угодно полноценное (XNA, SlimDX, SharpDX, в конце концов сделать native для DirectX), а в WPF выводить через D3DImage.

Тут-то автору темы, похоже, нужно несложные трёхмерные диаграммы вывести, с этим встроенный движок справится, а вот будь что-то поосновательнее - 3D из WPF не подошёл б.
Согласен. Но вот в то, что в WPF есть для 3Д-интерейсов из коробки (ну, скачать 3D Tools) и в несколько строчек, на всех перечисленных тобой "профессиональных" 3Д-фреймворках придётся в рукопашную делать.

В том-то и штука в WPF, что он легко конвергирует сложные 2Д и не очень сложные по сцене, но сложные по компоновке 3Д интерфейсы. А главное, добавляет в это 3Д свои классные штуки, такие как байндинги и прочее.

Вот в каком из "профессиональных" 3Д-фреймворков есть втроенные байндинги?
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Преобразование координат мыши. 3D графика / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]