20 Мая 2024, 13:47:53
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Навигация по форуму







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Физика > движение в направлении курсора
движение в направлении курсора
(Прочитано 19990 раз)
  [1] 2
Печать
Droni | * | Новичок | Сообщений: 23 | « 29 Мая 2011, 16:55:34 »
движение в направлении курсора |
0
Я переделал пример "NewtonCamera". там камера двигалась туда, куда ты посмотришь, а мне надо, чтобы объект(при нажатии на кнопку движения) двигался всегда в ту сторону, где находится мышка. При повороте мыши объект следит за ней. Подскажите, пожалуйста...

* Безымянный.JPG (31.93 Кб, 652x384 - просмотрено 1515 раз.)
Sqwer | ***** | Ветеран | Сообщений: 540 | «Ответ #1 29 Мая 2011, 19:18:50 »
Re: движение в направлении курсора |
1
да, всё  верно, продолжай  в том же духе.
Droni | * | Новичок | Сообщений: 23 | «Ответ #2 01 Июня 2011, 11:25:17 »
Re: движение в направлении курсора |
2
В общем, я всё реализовал, объект следит за мышкой, только никак не могу понять как сделать, чтобы он двигался в направлении мышки. Можете объяснить хотя бы в двух словах... плиииииииииз!!!
dfx | ** | Пользователь | Сообщений: 95 | «Ответ #3 01 Июня 2011, 19:19:09 »
Re: движение в направлении курсора |
3
К вектору позиции добавляй дельта-вектор * скорость * TC и объект будет двигаться в сторону указателя.
Незнаю насколько это оптимально, но дельта вектор можно найти вычитанием из спроэцированной на плоскость позиции курсора, позицию модели, а потом нормализовав получившийся вектор.

На самом деле, если нужно добиться результата как в стратегиях, т.е. объект еще и припятствия должен объезжать, то лучше сразу изучить пример с MotionPlanning...
Droni | * | Новичок | Сообщений: 23 | «Ответ #4 06 Июня 2011, 17:12:24 »
Re: движение в направлении курсора |
4
У меня возник еще вопрос с координатами курсора. Почему так получается, что его координаты в соседних четвертях разные???

* Безымянный1.JPG (38.13 Кб, 571x366 - просмотрено 1528 раз.)
dfx | ** | Пользователь | Сообщений: 95 | «Ответ #5 07 Июня 2011, 18:57:25 »
Re: движение в направлении курсора |
5
Droni
Видимо магия.
 
В квесте можно получить координаты в пространстве экрана и в пространстве вьюпорта. Отрицательные координаты получаются только в случае, когда используешь координаты вьюпорта и курсор за его пределами.

Видимо ошибка в коде. Но так как код никто не видит, то врядли что скажет по существу. Только догадки..

Координаты курсора переводил из экранных в мировые(3д)?
Droni | * | Новичок | Сообщений: 23 | «Ответ #6 09 Июня 2011, 15:35:16 »
Re: движение в направлении курсора |
6
Ну я брал "VectorOperator" и в нем выбирал "Mouse Intersect XY plane(matrix)" и таким образом получал координаты курсора.  Причем я прикреплял к мыши частицы и их видно только в верхней половине вьюпорта!
dfx | ** | Пользователь | Сообщений: 95 | «Ответ #7 09 Июня 2011, 17:12:35 »
Re: движение в направлении курсора |
7
Droni
Цитировать
Ну я брал "VectorOperator" и в нем выбирал "Mouse Intersect XY plane(matrix)" и таким образом получал координаты курсора.  Причем я прикреплял к мыши частицы и их видно только в верхней половине вьюпорта!

Т.е. спроэцировал координаты курсора на плоскость. Все верно. И отрицательные координаты в таком случае нормально. А как эта плоскость повернута, относительно камеры?

Для того, что бы понять что происходит, тебе надо создать 2 объекта - плоскость и, например, сферу. К плоскости подключай матрицу, которую использовал для проекции курсора, а для позиции сферы - вектор, который получил в результате. Потомом покрути все это в изометрии. Как увидишь что происходит с объектами визуально - все вопросы отпадут.
Droni | * | Новичок | Сообщений: 23 | «Ответ #8 12 Июня 2011, 10:59:07 »
Re: движение в направлении курсора |
8
Я все понял! Мне нужны координаты курсора не в плоскости XY, а в плоскости XZ. Можно это сделать при помощи VectorOperator???
dfx | ** | Пользователь | Сообщений: 95 | «Ответ #9 12 Июня 2011, 16:38:14 »
Re: движение в направлении курсора |
9
Цитировать
Я все понял! Мне нужны координаты курсора не в плоскости XY, а в плоскости XZ. Можно это сделать при помощи VectorOperator???
Просто повернуть твою плоскость так, как тебе надо, т.е. сделать эту плоскость паралельной плоскости XZ Подмигивающий
Поставь motion, вместо канала матрицы и подергай вектор  поворота.
Alteste | *** | Постоялец | Сообщений: 224 | «Ответ #10 12 Июня 2011, 17:08:06 »
Re: движение в направлении курсора |
10
Могу предложить поковырять тебе этот исходник
* start.cgr (9.04 Кб - загружено 789 раз.)
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #11 12 Июня 2011, 20:52:36 »
Re: движение в направлении курсора |
11
 Смеющийся
Droni | * | Новичок | Сообщений: 23 | «Ответ #12 13 Июня 2011, 17:23:04 »
Re: движение в направлении курсора |
12
Ну да)))

Вобщем, теперь курсор бегает по плоскости XZ. Вот как всё у меня получилось:

* 2011.04.13_18-16-18.jpg (66.55 Кб, 411x570 - просмотрено 1503 раз.)
Droni | * | Новичок | Сообщений: 23 | «Ответ #13 14 Июня 2011, 14:57:36 »
Re: движение в направлении курсора |
13
А где бы можно было бы поподробней узнать о MotionPlanning? что он вообще из себя представляет? я к нему всё подключил, а он мне показывает вектор destination position.
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #14 14 Июня 2011, 15:08:28 »
Re: движение в направлении курсора |
14
могу посоветовать в редакторе нажать F1 и в поле поиска забить MotionPlanning
 
  [1] 2
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Физика > движение в направлении курсора
Перейти в: