Quest3D - Русскоязычное сообщество

Quest3D => Логика => Тема начата: vap2008 от 09 Июня 2009, 18:06:11



Название: Как подключить к камере матрицу.Где её взять?
Отправлено: vap2008 от 09 Июня 2009, 18:06:11
 Есть сцена,объект движется по кругу. Анимировано в максе.Экспортировал в квест через .Х.Анимация проигрывается Можно ли получить данные о движении MotionSet в виде матрицы,чтоб к камере подключить и заставить её на объект смотреть


Название: Re: Как подключить к камере матрицу.Где её взять?
Отправлено: cashis от 09 Июня 2009, 18:36:47
Скажи пожалуйста зачем движение по окружности анимировать в максе, можно поставить ось вращения в центр требуемой окружности, и уже в квесте заставить объект вращаться вокруг этой оси!


Название: Re: Как подключить к камере матрицу.Где её взять?
Отправлено: barmadjar от 09 Июня 2009, 23:01:58
Тем не менее, как мне кажется, вопрос интересный, ведь этот пример - лишь простой частный случай. А если более сложная ситуация какая-нибудь. Действительно интересно!
Кто-нибудь знает что-нибудь по этому поводу?


Название: Re: Как подключить к камере матрицу.Где её взять?
Отправлено: Sqwer от 10 Июня 2009, 08:12:06
Цитировать
Можно ли получить данные о движении MotionSet в виде матрицы,чтоб к камере подключить и заставить её на объект смотреть

Да можно, взяв матрицу одной из кости анимированного объекта. (сам ещё не пробовал, но в нодах видел пару функционалов)


Название: Re: Как подключить к камере матрицу.Где её взять?
Отправлено: vap2008 от 10 Июня 2009, 16:24:59
Да можно, взяв матрицу одной из кости анимированного объекта. (сам ещё не пробовал, но в нодах видел пару функционалов)

А нельзя ли поподробнее, как это "матрицу одной из кости анимированного объекта". У меня при экспорте .Х, возникает только одна матрица-Motion. Но она в проигрывании анимации не учавствует,при её удалении не меняется абсолютно ничего, всё движение костей и сетки в MotionSet.


Название: Re: Как подключить к камере матрицу.Где её взять?
Отправлено: Viik от 10 Июня 2009, 18:56:23
Motion set подключаеться к Motion матрице объекта, верно?
Для работы с матрицами есть пачка операторов, векторных и матричных. Если у тебя есть матрица задающая положение, углы, и скеил объекта и из нее нужно вытянуть только положение, то береш Vector Operator, в нем находиш операцию Get Translation from Matrix помоему и цепляеш к матрице и вектору. Важное замечание, Motion matrix это производный тип от Matrix, некоторые операции работают на нем не коректно, поэтому сначала лучше скопировать значение Motion Matrix в обычный Matrix с помощью SetMatrix и уже читать данные из нее.


Название: Re: Как подключить к камере матрицу.Где её взять?
Отправлено: vap2008 от 12 Июня 2009, 00:17:44
 MotionSet у меня подключается к SkinnedCharacter.Как то по логике решил,что нужно подключить к MotionSet MatrixOperator и в нем выставить Get Bone Matrix (Получить матрицу кости).Но, тока ,КАК всё это работает??????? Матрицу кости получить не могу >:(


Название: Re: Как подключить к камере матрицу.Где её взять?
Отправлено: Sqwer от 12 Июня 2009, 08:43:48
Ответ на ваш вовпрос представлен на рисунке.
На вход канала (Гет Матрикс боне) мы подключаем анимацию и номер кости, указанной анимации. (номер кости можно определить в самом квесте, они подписываются над костями в режиме редактирования)

На выходе получаем матрицу кости.

PS Как и во всех языках программирования в скобках указывается тип входящих в процедуру/функцию переменных.
Тут мы видем SkinnedCharacter, value.


Название: Re: Как подключить к камере матрицу.Где её взять?
Отправлено: vap2008 от 12 Июня 2009, 09:16:20
 ДА ДА ДА!
Именно так, ВСЕ работает
Камера следит за объектом.
Спасибо