• Добро пожаловать на Quest3D - Русскоязычное сообщество.
 

Как подключить к камере матрицу.Где её взять?

Автор vap2008, 09 июня 2009, 19:06:11

« назад - далее »

vap2008

 Есть сцена,объект движется по кругу. Анимировано в максе.Экспортировал в квест через .Х.Анимация проигрывается Можно ли получить данные о движении MotionSet в виде матрицы,чтоб к камере подключить и заставить её на объект смотреть

cashis

Скажи пожалуйста зачем движение по окружности анимировать в максе, можно поставить ось вращения в центр требуемой окружности, и уже в квесте заставить объект вращаться вокруг этой оси!

barmadjar

Тем не менее, как мне кажется, вопрос интересный, ведь этот пример - лишь простой частный случай. А если более сложная ситуация какая-нибудь. Действительно интересно!
Кто-нибудь знает что-нибудь по этому поводу?

Sqwer

ЦитироватьМожно ли получить данные о движении MotionSet в виде матрицы,чтоб к камере подключить и заставить её на объект смотреть

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

vap2008

#4
Цитата: Sqwer от 10 июня 2009, 09:12:06
Да можно, взяв матрицу одной из кости анимированного объекта. (сам ещё не пробовал, но в нодах видел пару функционалов)

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

Viik

Motion set подключаеться к Motion матрице объекта, верно?
Для работы с матрицами есть пачка операторов, векторных и матричных. Если у тебя есть матрица задающая положение, углы, и скеил объекта и из нее нужно вытянуть только положение, то береш Vector Operator, в нем находиш операцию Get Translation from Matrix помоему и цепляеш к матрице и вектору. Важное замечание, Motion matrix это производный тип от Matrix, некоторые операции работают на нем не коректно, поэтому сначала лучше скопировать значение Motion Matrix в обычный Matrix с помощью SetMatrix и уже читать данные из нее.

vap2008

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

Sqwer

Ответ на ваш вовпрос представлен на рисунке.
На вход канала (Гет Матрикс боне) мы подключаем анимацию и номер кости, указанной анимации. (номер кости можно определить в самом квесте, они подписываются над костями в режиме редактирования)

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

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

vap2008

 ДА ДА ДА!
Именно так, ВСЕ работает
Камера следит за объектом.
Спасибо