Привязка оружия к модели SMD

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Привязка оружия к модели SMD

Сообщение djalex777 » 08.05.2007 (Вт) 14:17

Вопрос - как привязать оружие к модели SMD? Если использовать матрицы из анимации персонажа, то оружие рисуется не там где надо.

GLEB
Бывалый
Бывалый
 
Сообщения: 246
Зарегистрирован: 24.05.2005 (Вт) 12:16

Сообщение GLEB » 09.05.2007 (Ср) 16:19

К абсолютной матрице базового сустава оружия (он обычно один) приравниваешь абсолютную матрицу сустава модели, к которому собираешся привязать ствол.
Возьми готовую модель персонажа из HL1 и модель оружия (с префиксом p_) и пробуй с ними (для большей уверенности).

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Сообщение djalex777 » 11.05.2007 (Пт) 14:30

Загружаю модель из HL2 террориста и оружия. Загружаю анимацию из файла, например run.smd. Оттуда матрицы костей приравниваю соответствующим матрицам костей оружия и террориста. Всё бы ничего - да модель оружия отображается не там где надо. За основу взял примерчик по загрузке smd с данного форума.

GLEB
Бывалый
Бывалый
 
Сообщения: 246
Зарегистрирован: 24.05.2005 (Вт) 12:16

Сообщение GLEB » 12.05.2007 (Сб) 20:14

За основу взял примерчик по загрузке smd с данного форума.

На верно тот который я писал.

Всё бы ничего - да модель оружия отображается не там где надо.


Может быть такое что оружие привязывается к attachment-ам, а не к суставам.

Ну если хочешь скинь свой код, а то у меня на бейсике нет. Я посмотрю.

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Сообщение djalex777 » 13.05.2007 (Вс) 9:37

Да скорее всего это твой код. Я его немножко ускорил на сях.. )
Для вывода анимации персонажа делаю animate2
Для вывода анимации оружия animate2_weapon. Отличия в том, что у оружия меньше костей, чем у персонажа и я выбираю только нужные в функции animate2_weapon. Функцию расчета вершин переписал на сях, что увеличило производительность раз в 10 точно ))
У вас нет доступа для просмотра вложений в этом сообщении.

GLEB
Бывалый
Бывалый
 
Сообщения: 246
Зарегистрирован: 24.05.2005 (Вт) 12:16

Сообщение GLEB » 13.05.2007 (Вс) 16:48

djalex777

Сделал.
Тут вот как оказывается, я немного не так в первый раз объяснил.
Простое приравнивание матриц работает если к анимированной модели хочешь привязать полностью статичную smd-шку без анимаций.
А тут у оружия оказывается есть idle анимация.
Тут надо делать так:
Функция ANIMATE2_WEAPON(n As Integer, parent As D3DMATRIX) As Boolean аналогична ANIMATE2.
Добавил параметр parent As D3DMATRIX - абсолютная матрица сустава к которому крепится оружие.
И абсолютная матрица нулевого сустава получается перемножением относительной на абс. матрицу сустава к которому крепится оружие (parent), вместо TrNodes(Nodes(i)).absolut

D3DXMatrixMultiply TrNodes(i).absolut, TrNodes(i).relative, parent

И тогда все замечательно работает :)

Вместо твоей модели я использовал модели из HL1?
С твоими моделями что-то не получается прикрепить куда надо.
Может модель калаша называлась w_ak47?
Нужно обязательно использовать p_ak47.
Либо ты может анимацию подправил, не знаю...
Но все работает.

З. Ы.
Строчка TrNodes(i).absolut.m42 = 0 нужна только для того, чтобы модель стояла на месте, её надо использовать при анимациях run, walk и т.д. т.е., когда модель двигается.
В остальных случаях НЕ нужно приравнивать TrNodes(i).absolut.m42 к нулю.
У вас нет доступа для просмотра вложений в этом сообщении.

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Сообщение djalex777 » 13.05.2007 (Вс) 16:59

Спасибо. :D Буду разбираться. Модельку калаша брал именно p. В HL2 используется attachment для оружия.

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Re: Привязка оружия к модели SMD

Сообщение djalex777 » 11.09.2008 (Чт) 13:52

Так и не разобрался с этими моделями... Беру модели из Counter Strike. Никак не получается привязать модель оружия к персонажу. Пробовал привязывать к определенной кости персонажа, но получается какая-то ерунда. Пробовал загружать frame0 для оружия из модели персонажа (на каком-то форуме вычитал) и опять ничего. Есть какие-нибудь мысли?


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21

    TopList