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