forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Анимации. Как загрузить много анимаций? (http://forum.boolean.name/showthread.php?t=2259)

Nunan 01.01.2007 23:14

Анимации. Как загрузить много анимаций?
 
Подскажите код Blitz3d:
У меня есть 5 анимаций одной модели),
у 1й анимации - 50 кадров,
2й - 100 кадров,
3й - 20 кадров.
4й и 5й - 10 кадров.
Мне необходимо загрузить их, и анимировать в нужные моменты. Это будет одна модель, у которой должны запускаться разные её анимации.
Напишите, пожалуйста мне код:
Код:

(напишите код загрузки 5 анимаций для одной модели)

select anim
case 1
(напишите код запуска 1-й анимации)
case 2
(напишите код запуска 2-й анимации)
case 3
(напишите код запуска 3-й анимации)
case 4
(напишите код запуска 4-й анимации)
case 5
(напишите код запуска 5-й анимации)
end select


moka 01.01.2007 23:35

Re: Анимации. Как загрузить много анимаций?
 
Код:


Mesh=LoadAnimMesh("...")
ExtractAnimSeq(Mesh,0,50)
ExtractAnimSeq(Mesh,51,150)
ExtractAnimSeq(Mesh,151,170)
ExtractAnimSeq(Mesh,171,180)
ExtractAnimSeq(Mesh,181,190)
 
select anim
case 1
Animate Mesh,1,1,1
case 2
Animate Mesh,1,1,2
case 3
Animate Mesh,1,1,3
case 4
Animate Mesh,1,1,4
case 5
Animate Mesh,1,1,5
end select

Молодец, вопрос оформлен подобающе, но поспешил, во-первых, относительно анимации модели и её формата, так-как есть и md2, анимационные комманды. И насчёт анимаций, 5 анимаций, и что? Нежно то расписать ещё и с какого по какой кадр, а не по скока.

Nunan 02.01.2007 00:15

Re: Анимации. Как загрузить много анимаций?
 
Спасибо, за ответ.
Меня ещё интересует вопрос:
в стандартном примере анимации "makbot" две анимации загружаются из разных файлов:
mesh_3ds=LoadAnimMesh("makbot\mak_robotic.3ds");an im seq 0
LoadAnimSeq(mesh_3ds,"makbot\mak_running.3ds");ani m seq 1

...
If ... then Animate mesh_3ds,1,.5,1
If ... then Animate mesh_3ds,2,1,0
...

Я тоже думал о том чтобы 5 анимаций одной модели были в 5ти файлах, возможно это реализовать как в этом примере только для 5ти анимаций?

moka 02.01.2007 00:43

Re: Анимации. Как загрузить много анимаций?
 
Да возможно, но зачем? Если у тебя глав. персонаж, то лучше всё в одном файле, это экономнее и удобнее. А если у тебя будет что-то подобие стратежки или рпг, где будут одинаковые скелеты, и для них анимации, то это как скин получается, тогда лучше делать модельки, и отдельно анимационные скелеты, которые и загружаются подобно как в примере.

Nunan 02.01.2007 17:29

Re: Анимации. Как загрузить много анимаций?
 
В 3дмаксе есть такое свойство анимации что он сглаживает её. Тоесть если мне надо сделать в диапозоне 1-50 анимацию "стоит" а в диапозоне 51-100 анимацию "встаёт" то получается что в 50м кадре и в 51м должен быть разрыв, который не должен быть сглажен. ... Надо будет посмотреть как там в 3дМаксе убрать сглаживание.

Ещё.
Да я делаю анимацию скелета человека.
Далее я хочу сделать разные модели этих людей и чтобы они двигались используя этот скелет.
Я с этим первый раз имею дело, тоесть сейчас в первый раз открываю это для себя.
Как это сделать?
Я это представляю так:
есть файл во всеми анимациями (скелет)
есть файлы каждой части тела (ноги, руки, тело...)
каждая часть тела становится Chield-ами для соответсвующей части скелета, тоесть её принимает координаты.

Или лучше модель тоже сделать в одном файле, а потом выделить от туда каждую часть?

avel 04.01.2007 04:39

Re: Анимации. Как загрузить много анимаций?
 
2MoKa или кто знает.
Ответьте пожалуйста.
Цитата:

Сообщение от MoKa
[code]
есть и md2, анимационные комманды.

А возможно в md2 несколько моделей сочетать, а не одну цельную?
Можно ли в нем экспортировать много кадров анимации? У меня, почему-то, 140 максимум.
И почему он экспортируется зеркально?
Цитата:

Сообщение от MoKa
[code]
тогда лучше делать модельки, и отдельно анимационные скелеты, которые и загружаются подобно как в примере.

А это вообще как в блице реализовать, чтобы анимационный скелет был отдельно от модели? Расскажи подробнее.
Возможно ли, наложить анимационную последовательносить, когда модели слегка отличаются? (оружие другое или еще чего...)
Заранее благодарен, avel/

ЛысыЙ_Чук-Иванчук 04.01.2007 19:29

Re: Анимации. Как загрузить много анимаций?
 
Цитата:

А это вообще как в блице реализовать, чтобы анимационный скелет был отдельно от модели? Расскажи подробнее.
Возможно ли, наложить анимационную последовательносить, когда модели слегка отличаются? (оружие другое или еще чего...)
Заранее благодарен, avel/
Вообще просто, тут я использую- B3D. Создаеш главный файл Модель +Скелет(все кости превязаны, и точно настроены!!!). Затем экспортируеш его правельно(дело в том что при экспорте нужно правельно паставить галочки(как я парился- ух кипел)). Далее создаеш создаеш анимацию удаляеш ВСЕ кроме Костей, И все.......;):)

moka 05.01.2007 01:41

Re: Анимации. Как загрузить много анимаций?
 
md2 - это не скелетная анимация, это повертексная, и уже почти забытая. Желаю и вам забыть о ней.
vlad - это он о 3Д Максе.
avel - да возможно, я с этим точно не работал, но примерно скажу, своё об этом представление. Сперва глянь вот это, из 3 сообщения Нунена:
Цитата:

mesh_3ds=LoadAnimMesh("makbot\mak_robotic.3ds");an im seq 0
LoadAnimSeq(mesh_3ds,"makbot\mak_running.3ds");ani m seq

Видишь, анимация загружена из отдельного файла. Как я представляю себе это, то первая модель это модель со скилетом и привязоными к костям точками. А вот в файле, только скилет, где названия костей, индентичны названию костей в моделе со скелетом, но в этом файле, нету модели, там только тот-же скелет, но с анимацией.
Относительно анимированию, частей тела, есть команда, которая поворачивает и двигает определённую кость, но это программно, реализовать можно, но написав свои функции, если подумать, не слишком и сложно.
Но если анимировать, каждую часть тела? Зачем, так нигде не реализовано! Например HL2, там ниже пояса, и выше, а голова програмно + тело может отправится в безанимационное состояние - только физика. Обычно так и делают в последних новинках.

Относительно разным моделям, и одинаковой анимации, конечно можно что-бы разные модели были, зачем тогда делать анимацию отдельно?

HolyDel 05.01.2007 03:01

Re: Анимации. Как загрузить много анимаций?
 
кста. loadAnimSeq возвращает номер секвенции, что очень удобно.

moka 05.01.2007 03:48

Re: Анимации. Как загрузить много анимаций?
 
Да тоесть, получется подобно с работой мд2.

Насчёт экспорта анимации из 3д макса, ну когда анимация плавная, с этим должно быть где-то там лекарство.

Diplomat 05.01.2007 11:43

Re: Анимации. Как загрузить много анимаций?
 
2 MoKa : .MD2- это самый быстрый формат для Блица, не терпящего большого количества обьектов вообще, и как следствие костей в частности. В случае, если необходимо большое количество сложных "многочайлдовых" анимированных обьектов- вертексная анимация .МД2 остается единственным выходом. Поэтому забывать ёё, в отличии от .Х и .ЗДС не рекомендую.
;)

moka 05.01.2007 11:46

Re: Анимации. Как загрузить много анимаций?
 
Цитата:

МД2 остается единственным выходом
А вот и не соглашесь я с вами, если есть ручки, то небольшие 2-3 функции, сделают это и с b3d ;)

Diplomat 05.01.2007 12:31

Re: Анимации. Как загрузить много анимаций?
 
Обоснуйте (с)

moka 05.01.2007 13:50

Re: Анимации. Как загрузить много анимаций?
 
Пишем, с нуля, скелет, анимацию, свой формат, и всё будет!

Diplomat 05.01.2007 15:19

Re: Анимации. Как загрузить много анимаций?
 
Цитата:

Пишем, с нуля, скелет, анимацию, свой формат, и всё будет!
Шановний, це ганьба! (с)
Ты меня просто не слушаешь и говоришь в сущности глупости.

Как формат .БЗД вполне хорош: его минус- это разве что ограничение влияния одна-кость-на-вертекс. Но Блиц тормозит при увеличении количества обьектов в мире, а анимированный БЗД состоит из множества обьектов: это и чайлды модели, и кости.
МД2 же- это единый обьект. Тесты производительности БЗД и МД2 уже были, в т.ч. и я приводил их еще на старых Блицгеймсах: потери скорости БЗД впечатляют.
Потому новый формат с костной анимацией в Блице ничего не изменит: МД2 всё равно будет выигрывать в скорости в разы, и тем больше, чем сложней будет требуемая анимация модели.

P.S. Давайте не будем безосновательно флудить?


Часовой пояс GMT +4, время: 04:22.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot