![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Оружие и smd в glscene [Delphi]
Trof © (2005-07-20 17:51:00)Возможно ли в глсцене, скажем к кости руки smd модели привязать оружие (фриформ 3ds). И как это вообще делается?
Trof (2005-07-25 18:24:00) [1]Нет, этого не возникает, только почему-то меняется scale самого оружия, оно уменьшается.
4ECHOK (2005-07-23 10:01:00) [2]Кстати, проблемка может быть ... измени Scale актора и помотри где будет находится оружие. Такое чувство, что глобальная матрица скелетона не изменяется при масштабироании актора. Как-то столкнулся с этой проблемкой и кажется не решил ...
Trof (2005-07-23 09:20:00) [3]Блин, спасибо чуваки, если в каденсер всё это дело запихать, то всё прекрасно работает. Только почему-то если я, например прикрепляю к кисти руки, то даммикуб ложится немного не точно, чуть-чуть в сторону от руки, это приидётся самому корректировать?
Trof (2005-07-23 09:07:00) [4]Всё нашёл vectorgeometry.
Trof (2005-07-23 08:49:00) [5]А для матриц какой файл в uses нужно добавить?
Conferno (2005-07-22 22:05:00) [6]
> DeadMeat © (22.07.05 19:32) [14]
> dummycube.matrix:=MatrixMultiply(mesh.Skeleton.BoneByID(5).GlobalMatrix,mesh.AbsoluteMatrix);
>
> Ы..?
Да, кажется так... :)
4ECHOK (2005-07-22 20:58:00) [7]DeadMeat, я не то имел ввиду. В GLScene это просто сделать. А вот если с нуля это все расчитывать ... вот тут и навернуться можно.
DeadMeat (2005-07-22 19:32:00) [8]dummycube.matrix:=MatrixMultiply(mesh.Skeleton.BoneByID(5).GlobalMatrix,mesh.AbsoluteMatrix);
Ы..?
---
...Death Is Only The Begining...
4ECHOK (2005-07-22 18:41:00) [9]То, о чем говорит Conferno в реализации не так просто, так что браться за это не стоит. Или садись за математику и геометрию, изучай матрицы, кватернионы и прочую гадость =)))
Trof (2005-07-22 17:40:00) [10]>DeadMeat
Вот, собственно что я и хотел узнать.
Но если уж Conferno не помнит как это делается, то я-то вообще не знаю. Мне бы объяснил кто, или примерчик какой...
DeadMeat (2005-07-22 13:52:00) [11]ИМХО лучше делать как сказал Conferno.. Надежней и универсальней.. Просто надо модели к этому подготовить..
К примеру чтобы оружие находилось в начале системы координат в самой модели.. т.е. чтобы не было смещения.
Trof (2005-07-22 13:10:00) [12]И всё-таки, по-моему там просто оинхронизируются анимации оружия и персонажа. Для оружия делается такой же скелет как и для чела, и в максе или где там, прикрепляется к руке, далее в этом положении экспортируется вместе со скелетом в smd. Потом стоит сделать
Actor2.Animations.Assign(Actor1.Animations);
Actor2.Synchronize(Actor1);
И ко второму актёру применяется анимация первого и всё это дело синхронизуется. Мне кажется так.
4ECHOK (2005-07-21 21:04:00) [13]
> Это надо как-то делать через матрицу.... не помню... давно
> было... надо поискать...
> береш smd модель, находиш индекс кости и с помощью матрицы
> прицепляеш фриформ оружия...
Дык в ЖЛСцене так и реализовано. Смотрим на код демки Demos\meshes\actortwocam\:
Подгрузили модельку человека и его анимацию:
Actor1.LoadFromFile('..\..\media\waste.md2');
Actor1.Animations.LoadFromFile('..\..\media\Quake2Animations.aaf');
Подгрузили модельку пулемета:
Actor2.LoadFromFile('..\..\media\WeaponWaste.md2');
Согласуем анимацию пушки с движением мэна:
Actor2.Animations.Assign(Actor1.Animations);
...
Actor2.Synchronize(Actor1);
Все, пушка мертво привязана к руке. Trof, не об этом ли ты спаршивал ?:
> Возможно ли в глсцене, скажем к кости руки smd модели привязать
> оружие (фриформ 3ds). И как это вообще делается?
Conferno (2005-07-21 20:22:00) [14]Это надо как-то делать через матрицу.... не помню... давно было... надо поискать...
береш smd модель, находиш индекс кости и с помощью матрицы прицепляеш фриформ оружия...
Trof (2005-07-21 11:50:00) [15]Здесь немного не то, у оружия создаётся анимация (насколько я понял) таким образом, что оно всегда будет находиться в руке чела, как только анимация у чела меняется скажем на бег, то и у оружия она тоже меняется, полстраиваясь опять же под руку актёра.
4ECHOK (2005-07-21 08:12:00) [16]Дык, в той демке так и сделано. Все основано на принципе скелетной анимации. Оружие - продолжение кости одной из рук.
Все ясно и понятно.
P.S. Morrowind - не играл, не знаю.
Trof (2005-07-21 08:05:00) [17]
> Можно.
>
> ...GLScene\Demos\meshes\actortwocam\
>
> Там показано то, что ты хочешь.
Но неужели это так и делалось, например, в такой игре как Morrowind, я вообще-то думал, что можно как-нибудьпросто привязать к руке меч, и он уже в последствии так и будет сам двигаться вслед за ней. Так сделать реально?
XProger (2005-07-20 21:33:00) [18]Извиняюсь :)
DeadMeat (2005-07-20 21:24:00) [19]Ты кажись перепутал чуток ветку...
---
...Death Is Only The Begining...
XProger (2005-07-20 19:34:00) [20]Новоуральск, это уже не смешно!