![]() |
Ответ: проблемы с анимацией
Дальше пойдет вопрос, а почему када я жму ескейп оно невыключается и мне приходится выдергивать из розетки....
|
Ответ: проблемы с анимацией
Объясню что тебе нужно разобрать. При загрузке модели, которую тебе нужно анимировать в программе используй команду LoadAnimMesh, именно она загружает модель со всеми чилдами входящими в нее, в отличие команды LoadMesh(), которая объединяет все чилды в один меш и мы уже не сможим получить доступ к ним. Если у тебя анимация и модель находиться в одном файле, то тебе, чтобы вычленить Часть анимации нужно использовать ExtractAnimSeq(entity, frameStart, frameEnd), если же ты хранишь анимацию в отдельном файле от модели, то тогда используй команду LoadAnimSeq(entity, "file.b3d"). Причем, при создании анимации со скелетом ты этот самый скелет крепишь именно к какому-то чилду в модели перед экспортом в б3д. Чтобы найти этот чилд с анимацией, тебе нужно воспользоваться командой FindChild(model, "name"), причем тут очень важен регистр твоего названия, например чилд с именем "aNiMaTe" и "animate" будут разными чилдами, учти это. Когда ты найдешь этот чилд с анимацией всю обработку анимации веди с ним, то есть запускай анимацию именно для этого чилда, а не для модели. Теперь пойми, что "Запускать" и "Обновлять" это разные вещи, обновление анимации ведет команда UpdateWorld() и ее лучше ставить прямо перед командой RenderWorld(), а вот чтобы ЗАПУСТИТЬ анимацию нужно единожды вызвать команду Animate. Я например пользуюсь следующей схемой : Проверяю нажата ли нужная кнопка, проверяю проигрывается ли необходимая секвенция, и если не проигрывается, то запустить анимацию, также и при отпускании, проверяю, если не нажаты кнопки движения (или действия), то проиграть анимацию ожидания, либо вообще остановить анимацию. Теперь приблизительный код, который должен у тебя сложиться в результате понимания всего что я тебе написал :
Код:
model = LoadAnimMesh("model.b3d") |
Ответ: проблемы с анимацией
все получилось))
тока чуток поправка: model = LoadAnimMesh("model.b3d") animChild = FindChild(model, "Animate") seqIdle = ExtractAnimSeq(animChild, 0, 19) seqRun = ExtractAnimSeq(animChild, 20, 40) Repeat If KeyDown(200) Then If AnimSeq(animChild) <> seqRun Then Animate seqChild, 1, 0.2, animRun Else If AnimSeq(animChild) <> seqIdle Then Animate seqChild, 1, 0.2, animIdle EndIf UpdateWorld() Renderworld() Until KeyDown(1) end |
Ответ: проблемы с анимацией
откуда ты взял seqChild, animIdle и animRun ?
В коде ты этих переменных не объявлял, может опечатался ты? |
Ответ: проблемы с анимацией
тю блин точно во:
model = LoadAnimMesh("model.b3d") animChild = FindChild(model, "Animate") seqIdle = ExtractAnimSeq(animChild, 0, 19) seqRun = ExtractAnimSeq(animChild, 20, 40) Repeat If KeyDown(200) Then If AnimSeq(animChild) <> seqRun Then Animate animChild, 1, 0.2, seqRun Else If AnimSeq(animChild) <> seqIdle Then Animate animChild, 1, 0.2, seqIdle EndIf UpdateWorld() Renderworld() Until KeyDown(1) end |
Ответ: проблемы с анимацией
Зачем так все наехали на человека? Ну новичок, и что? Все такими были...
А проблема с костной анимацией - это довольно сложная вещь - сам когда-то с ней не одну неделю пропарился... так, что логично, что человек задал вопрос... после 10-20 неудачных попыток реализации... А вообще, я рад, что он завел эту тему... наконец, на форуме появилась тема о анимации , где все уже 100% разжеванно... Сам когда-то в панике бился по поиску и по крохам искал как и что... а теперь есть все и в одном. Так, что пусть эта тема будет небольшим маном для новичков и хорошей памяткой для старожил... Даже, в подпись добавлю ссыль... |
Ответ: проблемы с анимацией
|
Ответ: проблемы с анимацией
Цитата:
http://forum.boolean.name/showthread.php?t=10955&page=3 И просишь модератора закрыть тему. И еще - люди хватит флудить уже не по делу... |
Ответ: проблемы с анимацией
|
Ответ: проблемы с анимацией
http://forum.boolean.name/showthread.php?t=7525
Костная анимация в B3D- если хочешь разобраться - читать тему от корки до корки!!! модераторы закройте тему ! LUK, то что ты не видел миллиона идентичных тем - не значит что их нет... |
Ответ: проблемы с анимацией
Цитата:
Цитата:
ЗЫ: Согласен, закройте тему, плз, и почистите флуд! |
Часовой пояс GMT +4, время: 17:54. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot