|
3D-программирование Вопросы, касающиеся программирования 3D мира |
14.09.2009, 02:21
|
#1
|
AnyKey`щик
Регистрация: 26.06.2009
Сообщений: 7
Написано одно полезное сообщение
|
LoadAnimSeq подскажите как этим пользоваться
Доброго, всем, времени суток.
Столкнулся я с одной проблемой. Решил наконец-то воспользоваться командами анимации. Загрузил модель LoadAnimMesh и запустил анимацию через Animate - все заработало. Затам я узнал на БлицБейсик, что одной модели можно применять анимацию из другой, главное, чтобы названия костей были идентичны.
Нашел как это сделать здесь:
http://www.blitzbasic.com/Community/...hp?topic=42239
Проблема в том, что у меня этот код не заработал.
Переменные, которым присваивались LoadAnimSeq, были все время равны 0.
При этом, мне кажется в этом коде ошибка, нужно вместо:
Animate Mesh,1,0.3,seqs(5)
использовать:
Animate FindChild(Mesh,<имя меши>),1,0.3,seqs(5),
хотя, может я не прав и это зависит от версии блица.
У меня версия 1.98.
Помогите, пожалуйста, разобраться в чем здесь проблема.
|
(Offline)
|
|
14.09.2009, 13:06
|
#2
|
Знающий
Регистрация: 24.12.2008
Сообщений: 280
Написано 145 полезных сообщений (для 775 пользователей)
|
Ответ: LoadAnimSeq подскажите как этим пользоваться
вместо seqs(5) просто 5
loadanimseq model,"walk".b3d"
loadanimseq model,"death.b3d"
animate model,1,0.5,1
FINDCHILD это совсем другая команда она тут совсем не нужна!
|
(Offline)
|
|
14.09.2009, 14:41
|
#3
|
AnyKey`щик
Регистрация: 26.06.2009
Сообщений: 7
Написано одно полезное сообщение
|
Ответ: LoadAnimSeq подскажите как этим пользоваться
Попробую расписать ситуацию по-подробнее:
model.b3b - 3D модель(меш+biped) не анимированая
walk.b3d - biped с анимацией ходьбы(соответственно без меши)
death.b3d - biped с анимацией смерти(то же без меши)
..... и т.д.
Эти файлы получаю экспортом из 3DSMax 9 с помощью пайплайна.
model=LoadAnimMesh("Model.b3d")
walk=LoadAnimSeq(model, "walk.b3b")
death=LoadAnimSeq(model, "death.b3b")
Animate(model, 1, 0.03, walk, 1)
В итоге никакого результата. Модель - неподвижна.
Я понимаю, что дело в кривых руках, но на какой стадии они напортачили понять не могу.
И еще один момент. Если анимировать модель model.b3b и загрузить как описано выше, то анимации то же не будет, т.к. нужно находить в model именно ту меш, которая была проскинена в максе с помощью файндчилд.
Но если при этом попытаться применить анимацию walk или death, будет проигрываться анимация, которая была в файле model.b3b, т.к. walk и death у меня постоянно равны 0, чего , как я понимаю, быть не должно.
Может я неправильно экспортирую модель или анимацию? Может не те галочки оставляю/убираю в экспортере? Пробовал даже оставлять все, кроме бонмешес... Может дело в версии блица или макса?
|
(Offline)
|
|
14.09.2009, 14:49
|
#4
|
Разработчик
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений (для 92 пользователей)
|
Ответ: LoadAnimSeq подскажите как этим пользоваться
хм...
пересмотри внимательно свой код.. т.к у других все работает)
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb
Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)
Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.09.2009, 00:28
|
#5
|
ПроЭктировщик
Регистрация: 24.07.2009
Сообщений: 142
Написано 52 полезных сообщений (для 103 пользователей)
|
Ответ: LoadAnimSeq подскажите как этим пользоваться
Попробуй сделать как описано здесь...
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.09.2009, 00:49
|
#6
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: LoadAnimSeq подскажите как этим пользоваться
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.09.2009, 09:38
|
#7
|
AnyKey`щик
Регистрация: 26.06.2009
Сообщений: 7
Написано одно полезное сообщение
|
Ответ: LoadAnimSeq подскажите как этим пользоваться
Всем ОГРОМНОЕ спасибо. Думал уже никогда не получится.
За вчерашний вечер прочитал кучу туроров на эту тему, но так и ни чего не добился.
АВТОМАТ тебе спасибо за ссылку на сэмпл. Подставил туда свои модели!!!!! Все заработало!!!!
Буду ковыряться в коде, хотя на первый взгляд, все один в один.
И еще возник вопрос. Можно ли как-нибудь применить одну анимацию одним костям, а другую другим. Или при этом придется саму меш разрезать на куски?
|
(Offline)
|
|
15.09.2009, 11:10
|
#8
|
ПроЭктировщик
Регистрация: 24.07.2009
Сообщений: 142
Написано 52 полезных сообщений (для 103 пользователей)
|
Ответ: LoadAnimSeq подскажите как этим пользоваться
думаю можно при помощи findchild
|
(Offline)
|
|
15.09.2009, 18:44
|
#9
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: LoadAnimSeq подскажите как этим пользоваться
Можно ли как-нибудь применить одну анимацию одним костям, а другую другим.
|
Нельзя, в Ксорсе добавили такую фишку.
На блице - тока резать
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
15.09.2009, 21:10
|
#10
|
ПроЭктировщик
Регистрация: 24.07.2009
Сообщений: 142
Написано 52 полезных сообщений (для 103 пользователей)
|
Ответ: LoadAnimSeq подскажите как этим пользоваться
Сообщение от ABTOMAT
Нельзя, в Ксорсе добавили такую фишку.
На блице - тока резать
|
А разве нельзя найти кость файндчайлдом и передать ей анимацию?! Я конечно понимаю, что вариант через.опный, но чем не выход?!
|
(Offline)
|
|
15.09.2009, 21:17
|
#11
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: LoadAnimSeq подскажите как этим пользоваться
Сообщение от Arles
А разве нельзя найти кость файндчайлдом и передать ей анимацию?! Я конечно понимаю, что вариант через.опный, но чем не выход?!
|
Тем что оно не работает =) Однако при должной мере задротства можно заставить.
|
(Offline)
|
|
15.09.2009, 21:18
|
#12
|
|
Ответ: LoadAnimSeq подскажите как этим пользоваться
На блице в принципе можно разным костям разную анимацию сделать,
просто интерфейса нет для этого.
|
|
|
16.09.2009, 00:36
|
#13
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,361
Написано 2,473 полезных сообщений (для 6,856 пользователей)
|
Ответ: LoadAnimSeq подскажите как этим пользоваться
Как вариант в хиддене проигрывать анимацию первой модели и передавать ориентацию чилдов нашей модели.
Чтото типа:
mshRun=LoadAnimMesh("run.b3d")
mshShot=LoadAnimMesh("Hump.b3d")
Animate(mshRun, 1, 0.03)
Animate(mshShot, 1, 0.03)
repeat
rotateentity FindChild(mshRun,"Arms"),entityYaw( FindChild(mshShot,"Arms") ),entityPitch(FindChild( mshShot,"Arms") ),entityRoll( FindChild(mshShot,"Arms") )
updateworld()
renderworld()
flip()
until keyhit(1)
Правда очень не рекомендую так делать
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
16.09.2009, 10:23
|
#14
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Ответ: LoadAnimSeq подскажите как этим пользоваться
Клевый способ, спасибо за инфу, только поворачивать кости нужно уже после UpdateWorld()
|
(Offline)
|
|
16.09.2009, 10:49
|
#15
|
AnyKey`щик
Регистрация: 26.06.2009
Сообщений: 7
Написано одно полезное сообщение
|
Ответ: LoadAnimSeq подскажите как этим пользоваться
я вот придумал еще вариант. а что, если в максе меш натянуть сразу на 2 бипеда. обозвать их как ноги и торс. к верхней части меши прискиниваем бипед с именем торс, а к нижней - с именем ноги. далее создаем для каждого бипеда соответствующие анимации. а в блице находим нужный бипед и применяем ему именно его анимацию. может идея не новая и кто-нибудь проверял этот метод? сработает ли он?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:01.
|