22 Сентября 2024, 02:06:44
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

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







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Логика > [Логика]Управление анимацией
[Логика]Управление анимацией
(Прочитано 39981 раз)
  1 [2] 3 4
Печать
Paul_Winex | ** | Пользователь | Сообщений: 59 | «Ответ #15 09 Сентября 2009, 14:46:19 »
Re: [Логика]Управление анимацией |
15
Я так понял что надо использовать ноду CollisionRayCheck. В хелпе даже примеры есть в которых фиг разберешься и не совсем то что требуется. Будут желающие подсказать???
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #16 09 Сентября 2009, 14:47:49 »
Re: [Логика]Управление анимацией |
16
Финт с пустым слотом сделан для отсутствия дефолного положения, мне так легче. Я туда мог просто пустую ноду тыкнуть, это без разницы. Плюс есть возможность добавить дефолтное если потребуется.

лан, кто захочет -- тот поймёт

Что касается прицела, если ты качал сцену то видел что плюс и так в центре, что я сделал как раз через SysInfo. Вопос в другом, как сделать этот прицел активным для нажатия на объекты вместо курсора?

Нет, я твой пример не качал  Улыбающийся но он у меня и не откроется скорее всего, у меня версия 4.2.2
Тебе нужно использовать не DetectMouseCollision как ты наверно сейчас делаешь, а CollisionRayCheck, и луч пускать через средину экрана от камеры. Там понадобится немного математики чтоб сделать всё нормально, но по-моему где-то я видел пример с использованием этого ченела

Об этом же речь и по той ссылке
Paul_Winex | ** | Пользователь | Сообщений: 59 | «Ответ #17 09 Сентября 2009, 15:04:08 »
Re: [Логика]Управление анимацией |
17
DetectMouseCollision регистрирует пересечение мышой, а мне надо пересечение с центром экрана! Я как-то пытался нетровать курсор через SystemCommand, при включении этой ноды всё жутко начинает тормозить!
Сечас пытаюсь понять что тут
http://support.quest3d.com/index.php?title=CollisionRayCheck

Я кроме сцены еще и EXE выложил. Посмотри там, может сразу поймешь.
Paul_Winex | ** | Пользователь | Сообщений: 59 | «Ответ #18 09 Сентября 2009, 15:17:42 »
Re: [Логика]Управление анимацией |
18
Из примеров есть файл "Pick mesh with mouse", думаю там есть нечтоподобное, но как вектор мыши заменить на вектор каметры? Или точней крестика в центре. Пусть будет математика, не страшно, главное понять!
Paul_Winex | ** | Пользователь | Сообщений: 59 | «Ответ #19 09 Сентября 2009, 15:33:02 »
Re: [Логика]Управление анимацией |
19
Из примеров есть файл "Pick mesh with mouse", думаю там есть нечтоподобное, но как вектор мыши заменить на вектор каметры? Или точней крестика в центре. Пусть будет математика, не страшно, главное понять!

Вот на иностранном форуме интересные картинки, но я не совсем пока понимаю что куда...
http://forum.quest3d.pl/index.php?topic=576.msg3461
И я так понял что символ в центре непричем, надо сделать вектор из центра камеры и с ним регистрировать пересечения.
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #20 09 Сентября 2009, 17:10:07 »
Re: [Логика]Управление анимацией |
20
Paul_Winex

Посмотри в этой теме, там уважаемый Sqwer уже ответил на этот вопрос в посте №6
http://guest3d.wohlnet.ru/forum/index.php?topic=721.0
Paul_Winex | ** | Пользователь | Сообщений: 59 | «Ответ #21 09 Сентября 2009, 17:21:24 »
Re: [Логика]Управление анимацией |
21
Children
Original Position - Value Vector
Position of the ray
Movement Vector - Value Vector
Movement of the ray
Out: Intersection Point - Value Vector
Intersection Point
Out: Intersection Direction - Value Vector
Intersection Direction
Collision Objects - CollisionObject
Objects that need to be checked for collision


Скрин и файл содержат такую структуру где имеется ответ, только глубоко. В ноде CollisionRayCheck имеются 4 первых входа для векторов. Помогите разобраться что куда надо тыкнуть чтобы вектор был из центра камеры! Где же гуру подевались? Я тут один сам с собой разговариваю?

* map3.gif (70.63 Кб, 922x780 - просмотрено 2578 раз.)
* collisionraycheck02.zip (17.28 Кб - загружено 1235 раз.)
Paul_Winex | ** | Пользователь | Сообщений: 59 | «Ответ #22 09 Сентября 2009, 17:28:20 »
Re: [Логика]Управление анимацией |
22
http://forum.quest3d.com/index.php?topic=65016.0
Цитировать
* Create a new vector (0,0,1000). It now points into the positive Z direction.

* Multiply this vector with the rotation matrix from the camera:

  - Get the rotation vector from the camera and connect it to a new matrix.

  - Connect a Matrix Operation channel to the second child of the Ray Collision channel, and set this operator to 'Multiply Vector with Matrix'.

  - Connect the new vector (0,0,1000) to the first childlink, and the newly created camera rotation matrix to the second childlink.


* Link your collision object(s)

* Move the camera around, and check if the ray collision returns which object is hit.

Вот тоже описание, но тоже не понятно. Точней до половины понятно а дальше опять повторение что ли...

Но собственно в этом скрине видно что надо, тока затуманено жутко...
http://forum.quest3d.pl/index.php?PHPSESSID=d69c149c0c4a15f1cafd4386cbc30103&action=dlattach;topic=576.0;attach=701;image
« Последнее редактирование: 09 Сентября 2009, 17:39:52 от Paul_Winex »
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #23 09 Сентября 2009, 17:35:08 »
Re: [Логика]Управление анимацией |
23
псдц, ты спамиш быстрее чем я читать успеваю, у меня ощущение, что ты сначала спрашиваеш как решить твою проблему, а только потом сам начинаеш думать над этим

вот на том скрине из предидущего поста всё правильно, только вместо оператора Mouse Intersect XY Plane нужно использовать Screen pos intersect XY plane
Paul_Winex | ** | Пользователь | Сообщений: 59 | «Ответ #24 09 Сентября 2009, 17:43:13 »
Re: [Логика]Управление анимацией |
24
Я НЕ СПАМЮ! Я РАССУЖДАЮ!
А скрин из предыдущего оказывается привязывает линию к камере Грустный
Щас посмотрю твою версию хотя ничего не понял. Можешь показать на примере?
Sqwer | ***** | Ветеран | Сообщений: 540 | «Ответ #25 09 Сентября 2009, 18:20:28 »
Re: [Логика]Управление анимацией |
25
Paul_Winex есть такая штука - "Изменить"
Paul_Winex | ** | Пользователь | Сообщений: 59 | «Ответ #26 09 Сентября 2009, 19:01:05 »
Re: [Логика]Управление анимацией |
26
Я в курсе, но не понял к чему это. Если хотите только вразумительный текст на форуме, то отвечайте, а то когда я тут один то и пишу что хочу Улыбающийся
Ну я не прям так типа заставляю, просто как-то скучно одному разбираться. А насчет того что сам спрашиваю - сам отвечаю, это да, привычка. Ну да не будем флудить, лучше по делу.
Предлагаю тему по поиску решения насчет активного центра экрана перенести в новую тему. Если конечно кто будет там участвовать. Хотя странно что никого, ждете что ли готового ответа? Или знаете но молчите?
Paul_Winex | ** | Пользователь | Сообщений: 59 | «Ответ #27 10 Сентября 2009, 00:17:22 »
Re: [Логика]Управление анимацией |
27
Некоторые успехи по изучению collisionraycheck (исправлено).

Входы collisionraycheck (слева направо):
1 - вектор положения камеры (старт луча)
2 - направление и длина луча, сложенная из матрицы камеры (видимо поворот) и простой вектор с заданием глубины. Изменяя глубину можно ограничить радиус действия вектора.
3 - вывод координат точки пересечения.
4 - тоже какой-то вывод....
4< - колизионные объекты.

« Последнее редактирование: 10 Сентября 2009, 12:30:12 от Paul_Winex »
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #28 10 Сентября 2009, 10:54:01 »
Re: [Логика]Управление анимацией |
28
к 3-ему чаилд линку там подконекчена полная ересь, должен быть "простой вектор", в который CollisionRayCheck будет записывать координаты пересечения луча с объектом.
Ещё много интереснейших вещей можно для себя почерпнуть просто выделив этот ченел и нажав F1
Paul_Winex | ** | Пользователь | Сообщений: 59 | «Ответ #29 10 Сентября 2009, 12:16:50 »
Re: [Логика]Управление анимацией |
29
Согласен, но попытка не пытка. Сделай как надо, поделись умением, я поправлю. Кстати пересечение считается не с центральной точкой а с чем-то другим. Так как вычисление этой точки я поставил не верно, судя по твоим замечаниям.
В общем попробуй сделать так, чтобы активной был именно центральный пиксель экрана! А я изменю тот корявый пост. Спасибо.
« Последнее редактирование: 10 Сентября 2009, 12:31:20 от Paul_Winex »
 
  1 [2] 3 4
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Логика > [Логика]Управление анимацией
Перейти в: