Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Оружие и smd в glscene [Delphi]


Страницы:   1 2

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]

Новоуральск, это уже не смешно!


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо