![]() |
Анимации. Как загрузить много анимаций?
Подскажите код Blitz3d:
У меня есть 5 анимаций одной модели), у 1й анимации - 50 кадров, 2й - 100 кадров, 3й - 20 кадров. 4й и 5й - 10 кадров. Мне необходимо загрузить их, и анимировать в нужные моменты. Это будет одна модель, у которой должны запускаться разные её анимации. Напишите, пожалуйста мне код: Код:
(напишите код загрузки 5 анимаций для одной модели) |
Re: Анимации. Как загрузить много анимаций?
Код:
|
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ти анимаций? |
Re: Анимации. Как загрузить много анимаций?
Да возможно, но зачем? Если у тебя глав. персонаж, то лучше всё в одном файле, это экономнее и удобнее. А если у тебя будет что-то подобие стратежки или рпг, где будут одинаковые скелеты, и для них анимации, то это как скин получается, тогда лучше делать модельки, и отдельно анимационные скелеты, которые и загружаются подобно как в примере.
|
Re: Анимации. Как загрузить много анимаций?
В 3дмаксе есть такое свойство анимации что он сглаживает её. Тоесть если мне надо сделать в диапозоне 1-50 анимацию "стоит" а в диапозоне 51-100 анимацию "встаёт" то получается что в 50м кадре и в 51м должен быть разрыв, который не должен быть сглажен. ... Надо будет посмотреть как там в 3дМаксе убрать сглаживание.
Ещё. Да я делаю анимацию скелета человека. Далее я хочу сделать разные модели этих людей и чтобы они двигались используя этот скелет. Я с этим первый раз имею дело, тоесть сейчас в первый раз открываю это для себя. Как это сделать? Я это представляю так: есть файл во всеми анимациями (скелет) есть файлы каждой части тела (ноги, руки, тело...) каждая часть тела становится Chield-ами для соответсвующей части скелета, тоесть её принимает координаты. Или лучше модель тоже сделать в одном файле, а потом выделить от туда каждую часть? |
Re: Анимации. Как загрузить много анимаций?
2MoKa или кто знает.
Ответьте пожалуйста. Цитата:
Можно ли в нем экспортировать много кадров анимации? У меня, почему-то, 140 максимум. И почему он экспортируется зеркально? Цитата:
Возможно ли, наложить анимационную последовательносить, когда модели слегка отличаются? (оружие другое или еще чего...) Заранее благодарен, avel/ |
Re: Анимации. Как загрузить много анимаций?
Цитата:
|
Re: Анимации. Как загрузить много анимаций?
md2 - это не скелетная анимация, это повертексная, и уже почти забытая. Желаю и вам забыть о ней.
vlad - это он о 3Д Максе. avel - да возможно, я с этим точно не работал, но примерно скажу, своё об этом представление. Сперва глянь вот это, из 3 сообщения Нунена: Цитата:
Относительно анимированию, частей тела, есть команда, которая поворачивает и двигает определённую кость, но это программно, реализовать можно, но написав свои функции, если подумать, не слишком и сложно. Но если анимировать, каждую часть тела? Зачем, так нигде не реализовано! Например HL2, там ниже пояса, и выше, а голова програмно + тело может отправится в безанимационное состояние - только физика. Обычно так и делают в последних новинках. Относительно разным моделям, и одинаковой анимации, конечно можно что-бы разные модели были, зачем тогда делать анимацию отдельно? |
Re: Анимации. Как загрузить много анимаций?
кста. loadAnimSeq возвращает номер секвенции, что очень удобно.
|
Re: Анимации. Как загрузить много анимаций?
Да тоесть, получется подобно с работой мд2.
Насчёт экспорта анимации из 3д макса, ну когда анимация плавная, с этим должно быть где-то там лекарство. |
Re: Анимации. Как загрузить много анимаций?
|
Re: Анимации. Как загрузить много анимаций?
|
Re: Анимации. Как загрузить много анимаций?
Обоснуйте (с)
|
Re: Анимации. Как загрузить много анимаций?
Пишем, с нуля, скелет, анимацию, свой формат, и всё будет!
|
Re: Анимации. Как загрузить много анимаций?
Цитата:
Ты меня просто не слушаешь и говоришь в сущности глупости. Как формат .БЗД вполне хорош: его минус- это разве что ограничение влияния одна-кость-на-вертекс. Но Блиц тормозит при увеличении количества обьектов в мире, а анимированный БЗД состоит из множества обьектов: это и чайлды модели, и кости. МД2 же- это единый обьект. Тесты производительности БЗД и МД2 уже были, в т.ч. и я приводил их еще на старых Блицгеймсах: потери скорости БЗД впечатляют. Потому новый формат с костной анимацией в Блице ничего не изменит: МД2 всё равно будет выигрывать в скорости в разы, и тем больше, чем сложней будет требуемая анимация модели. P.S. Давайте не будем безосновательно флудить? |
Re: Анимации. Как загрузить много анимаций?
мд2 рулит! это точно! и не только по скорости! а и по удобству обращения с ним! можно легко задавать ключи анимации которые нужно проигрывать. и не нужно отдельно грузить скелет и т.д. всю анимацию можно производить одним оператором!
|
Re: Анимации. Как загрузить много анимаций?
Raiter
MD2 ето пережиток прошлого скелетная анимация ето то что нам надо сейчас заанимировал один скелет и 200 разных моделей тоже уже имеют анимацию ps. что тебе мешает поместить скелет и всю анимацию с мешем в один файл ? |
Re: Анимации. Как загрузить много анимаций?
|
Re: Анимации. Как загрузить много анимаций?
Diplomat+1
|
Re: Анимации. Как загрузить много анимаций?
2vlad
Спасибо, попробую. 2MoKa за ответ благодарю, вот только какой в 3дс формате может быть скелет? Там для анимации нужно все части дела делать из отдельных кусков. А насчет лекарства неонял: там - это где? насчет программного задания анимации: пробовал получается некрасиво для шутера еще нормально, а для рпг или спортивных симуляторов неподходит совершенно. 2jimon 200 моделей и один скелет это то, что мне и надо (не всмысле модели нужны, они-то у меня есть :) ), только как это в блице реализовать? да чтобы еще анимация была плавная, а модель по возможности реалистичная, что предполагает ее цельность. ВСЕМ народ подскажите мне однувещь, а то я уже совсем запутался какой формат мне лучше использовать и что с ним делать. Задача такая: есть модель сделанная в 3дмаксе, еще несколько подобных моделей и скелет с анимацией большого числа движений. Есть игрушка, написаная на блице, которую я не могу закончить из-за подобных нюансов. Она представляет собой стратегию реального времени типа диабло или титан квеста, но со всякими примочками в виде головоломок, пошагового боя, эпических битв сбольшим числом войнов, возможностью строить и др. мне надо, чтобы в игре были качественые модели, сочетающие в себе возможность нескольких движени, которые будут примерно одинаковые для всех. приближенность камеры достаточно близкая, поэтому нужна повертексная анимация (развивающийся плащ, например) и возможность изменять некотоые части модели (смена молотка на топор у рабочего, например). Вопрос: Как мне это все реализовать. Конкретно какой формат выбрать и как в блице это все прописать? Заранее всем благодарен, avel. |
Re: Анимации. Как загрузить много анимаций?
Цитата:
Так-чо если неполучится спрашивай..... Цитата:
|
Re: Анимации. Как загрузить много анимаций?
avel, использовать систему скелетов не сложно.
Сначало делаешь скелет с четко названными именами каждого обьекта скелета, например тело - "body" руки: "arml1" "arml2" "arml3" "armr1" "armr2" "armr3" ноги: "hl1" "hl2" ... голова - "head" Называть обьекты надо в 3дМаксе в обычном поле - там где пишутся названия обьектов. Потом ты загружаешь скелет в Блитце. Теперь ты должен "распознать" обьекты из скелета по их именам, с Блитце есть специальная функция FindChield(entity,name$) Вот... ты делаешь так: arml1=FindChield(skelet,"arml1") и так далее. Теперь ты можешь в любое время определять Позицию каждой части скелета и его повороты. А потом ты просто берёшь нужную деталь человека и они просто каждый кадр принимает позицию и углы соотвествующей части скелета. PositionEntity skin_arml1,EntityX(arml1),..... кажется функция EntityParent skin_arml1,arml1 не сработает (я кажется пробовал, но могу и ошибатся). Ещё можно выделить обьекты из скелета функцией skelet_parts(i)=GetChild(skelet,i) где i - номер обьекта в скелете, его я не знаю как узнать, можно просто методом подбора понять какая часть у тебя скелета находится под какими номерами. После GetChild ты можешь применить функцию EntityParent skin_parts(i),skelet_parts(i), и у тебя постоянно будут твои части тела будут привязаны к костям. В любое время ты их можешь убирать и ставить новые. Оружие ты тоже просто делаешь Chieldом обьекта "кисть" и оно будет летать за кистью. |
Re: Анимации. Как загрузить много анимаций?
2vlad
ты оказался прав. разобраться с галочками у меня не вышло, причем не из-за того, что там так все сложно, а из-за того, что у меня экспортер глючный. вылетает зараза раз за разом (о, блин, каламбур получился! :) ). Поэтому спрашиваю: во первых подскажи если не трудно, где достать нормальный экспортер для шестого 3ДМакса. во вторых чего делать с галочками? обещаю отThanks'ить тебя обязательно! 2Nunan спасибо за столь подробный ответ. тебе, кстати, тоже Thanks от меня. но вообще-то я это все уже знал и пробовал воспользоваться этим. В моей игрушке использовать модели, состоящие из частей неполучится, потому, что они расположены близко к камере и это будет видно. мне бы хотелось узнать про скелет для цельной модели. я думаю, что буду использовать костную или морфинговую анимацию. вот только все время какие-нибудь проблеммы возникают. прочитай повнимательнее мое предыдущее сообщение и ответь на мои вопросы если сможеш. буду очень благодарен. всем народ я по прежнему жду вашей помощи! поднимите глаза чуть выше, точнее на предыдущую страницу и ответьте мне если не сложно. заранее всем благодарен, avel. |
Re: Анимации. Как загрузить много анимаций?
в первый файл сохраняется модель со скелетом (как не знаю).
в остальные файлы сохраняется анимация ЭТОГО скелета. кости можно сделать прозрачными. тогда получается что-то вроде набора файло maks_mesh.b3d - где скелет и сетка модели maks_run.b3d - в этом файле сохранена анимация бега maks_idle.b3d - в этом файле сохранена анимация простоя maks_die.b3d - в этом файле сохранена анимация смерти и.т.д далее ето дело грузится в блитх mesh=loadanimmesh("maks_mesh.b3d") ;Грузим саму модель run=loadanimseq("maks_run.b3d); Грузим анимацию бега и т.д. при этом в переменную run записывается 1, в следующую 2 и т.д. это просто номер секвенции. теперь чтобы заставить играть определенную анимацию надо писать Animate mesh,1,1,run - для анимации бега и т.д. про галки ниче не знаю ибо не моделлер, но когда надо было сэкспортировал со второго раза, ибо вроде все понятно. |
Часовой пояс GMT +4, время: 17:51. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot