|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
Всем доброго дня. Есть ViewPort3D. В нем есть камера. В viewport3D строится график. Вопрос. Как по координатам мыши (если нажали кнопку мыши и через GetPosition имеем координаты) найти координаты точки на графике с учетом позиции камеры по координатам мыши? Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 11:42 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
Есть встроенное средство определения объекта по нажатию. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 12:15 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 12:57 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
Ilya81Есть встроенное средство определения объекта по нажатию. Еще вопрос такой. Мне надо мышкой нарисовать 3д объект (например куб). Если использовать HitTest из VisualTreeHelper то он находит точку именно с визуальном объектом (точка, линия и т.д.). А как мне получить координату именно для рисования объекта мышкой по координатам мышки? Заранее спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 15:59 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
AidarHIlya81Есть встроенное средство определения объекта по нажатию. Еще вопрос такой. Мне надо мышкой нарисовать 3д объект (например куб). Если использовать HitTest из VisualTreeHelper то он находит точку именно с визуальном объектом (точка, линия и т.д.). А как мне получить координату именно для рисования объекта мышкой по координатам мышки? Заранее спасибо Народ, помогите пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2015, 10:26 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
Тут уже только своими силами рассчитывать из матриц свойств Transform камеры и при необходимости, каких-то объектов. Для камеры, надо полагать, будет обратная матрица для умножения. Ну и к тому ж тут надо как-то самостоятельно придумать, как восполнить недостающую координату для текущей двумерной проекции, т. е. на каком расстоянии помещать объект. Как-то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2015, 13:10 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
Может, поможет. Есть такая штука - 3D Tools . Качаешь. Там есть примеры. Один из мримеров называется InteractiveViewport3DSample - там можно двигать ползунки и изменять ими размер куба. Т. е. там привязки есть между контролами и параметрыми 3Д-объектов. Попробуй привязать их к координатам мыши. Ещё там есть пример Channel9Demo. Там нажимаешь галочку "Truth" и получаетс забавный эффект - всё, что рисуется на 3Д поверхности мышью, один-в-один отображается на плоской полупрозрачной поверхности. Т. е. там курсор мыши и две точки этой поверхности (только с разных видов) как бы совмещены. Не знаю, может, это пригодится. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2015, 18:55 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
Ну и до кучи эта штука даёт бесплатное вращение сцены в 3Д (надо только декоратором обрамить в XAML) и ещё некоторые плюшки, типа намапливания полнофункционального интерактивного UI на 3Д поверхности. Причём это доведено по сложности до уровня детского сада. Ничего подобного ни в каком сраном Unity 3D нет, а на WPF уже сто лет в обед есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2015, 18:57 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
НемоКэп42, чушь писать не надо, в XNA и в Unity сделать это не на много сложнее, чем в WPF. единственный минус, это элементы управления, надо будет ручками создавать ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 09:30 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
Roman MejtesНемоКэп42, чушь писать не надо, в XNA и в Unity сделать это не на много сложнее, чем в WPF. единственный минус, это элементы управления, надо будет ручками создавать В юнити нет богатых контролов с байндингами и прочим фаршем? - Каменный век! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 10:23 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
Ага, не намного сложнее - всего-то изобрести нормальный UI-фреймворк. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 10:24 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
НемоКэп42, там немного другой подход, но сделать простецкое игровое меню с анимацией, некий игровой интерфейс там не сильно сложно. А расположить его на 3д полигонах будет даже проще. В играх и не сложно функциональных котролов. Они все довольно простые. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 11:47 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
Roman Mejtes, вы, наверное, не поняли, что с помощью 3D Tools в WPF я показал. 1 - Там созданы ИНТЕРАКТИВНЫЕ контролы и трёхмерный объект, которым они управляют. 2 - Затем, внимание, вся сцена с этим всем отрисована в текстуру (отрисовывается каждый кадр - т. к. интерактивность и нужно постоянно обновлять). 3 - Затем, ещё внимание, эта текстура намаплена на другой трёхмерный объект. 4 - Ну и уже этот объект - во вьюпорте окна. При этом, ещё внимание, первоначальные контролы остаются интерактивными, а не просто безжизненная текстура. И САМОЕ ГЛАВНОЕ, этого добились без километров кода - всего несколько строчек привязок и всё. А именно, контролы забайндинены на свойства параллелепипеда, свойство Visual вьюпорта этих контролов с параллелепипедом забайндинено на текстуру плоскости. Вот и вся магия. Конечно, под капотом это работает как куча всяких штук, типа отрисовки в текстуру, шейдера для этого дела, плюс ловится мышь в первом вьюпорте, затем каким-то образом её координаты передаются в текстуру, на которой напамлен вьюпорт с контролами и параллелепипедом, затем этому вьюпорту с этими контролами и потом уже определяется, по каким контролам попадание. Вот именно такую лёгкость может обеспечить Юнити или XNA? Забубенить несколько объектов в нескольких вьюпортах, а потом несколькими байндингами связать всё это дело и чтобы всё оставалось интерактивным? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 14:01 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
То, что в Юнити и прочих можно рендерить в текстуру я знаю. А можно ли это делать с сохранением интерактивности в этой отрендеренной текстуре, как у меня в примере? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 14:02 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
Ни в каких играх, ни в каких юнитях не было и нет таких сложных интерфейсов, получаемых так легко и доступных в несколько строчек привязок. WPF всех обошёл на 10 лет. ВООБЩЕ ВСЕХ! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 14:04 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
Придурки на хабрах всяких радуются, что у них какая-то примитивная хрень в типатридэ получается на сраном JS, хотя работает через пень-колоду и не у всех, плюс жрёт процессор и память как не в себя, требует поставить вебГЛ, хром, кучу JS накачивает и ещё что-то. А в WPF всё гораздо лучше, быстрее, совместимее, доступнее и легче было ещё 8 лет назад. Мир идиотов сошёл с ума. Остановите планету, я сойду. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 14:07 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
Встроенный 3D в WPF - это так, баловство, если сцена из двух кубиков, то можно. Если что-то посерьёзнее - там Z-Fighting почти не преодолевается, так что для реальной графики нужно что угодно полноценное (XNA, SlimDX, SharpDX, в конце концов сделать native для DirectX), а в WPF выводить через D3DImage. Тут-то автору темы, похоже, нужно несложные трёхмерные диаграммы вывести, с этим встроенный движок справится, а вот будь что-то поосновательнее - 3D из WPF не подошёл б. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 15:08 |
|
Преобразование координат мыши. 3D графика
|
|||
---|---|---|---|
#18+
Ilya81Встроенный 3D в WPF - это так, баловство, если сцена из двух кубиков, то можно. Если что-то посерьёзнее - там Z-Fighting почти не преодолевается, так что для реальной графики нужно что угодно полноценное (XNA, SlimDX, SharpDX, в конце концов сделать native для DirectX), а в WPF выводить через D3DImage. Тут-то автору темы, похоже, нужно несложные трёхмерные диаграммы вывести, с этим встроенный движок справится, а вот будь что-то поосновательнее - 3D из WPF не подошёл б. Согласен. Но вот в то, что в WPF есть для 3Д-интерейсов из коробки (ну, скачать 3D Tools) и в несколько строчек, на всех перечисленных тобой "профессиональных" 3Д-фреймворках придётся в рукопашную делать. В том-то и штука в WPF, что он легко конвергирует сложные 2Д и не очень сложные по сцене, но сложные по компоновке 3Д интерфейсы. А главное, добавляет в это 3Д свои классные штуки, такие как байндинги и прочее. Вот в каком из "профессиональных" 3Д-фреймворков есть втроенные байндинги? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 15:14 |
|
|
start [/forum/topic.php?fid=21&fpage=17&tid=1440903]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 259ms |
total: | 405ms |
0 / 0 |