|
Xors3D Графический движок с поддержкой DirectX9 |
01.07.2010, 00:36
|
#1
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Костная анимация по частям
Есть перс. Пока не натянул ему скелет, но буду. Обязательно Бипедом. И вот возник вопрос. Есть кучка пушек. Каждая несется по-разному. Значит, нужно ноги, туловище, голову анимировать стандартно(бег, ходьба, туда-сюда), а руки под каждую пушку анимировать отдельно. Встал вопрос, как вообще реализовать такое?
|
(Offline)
|
|
01.07.2010, 00:59
|
#2
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Костная анимация по частям
Последний параметр у всех функций для работы с анимацией, подробности знает хэлп.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.07.2010, 21:47
|
#3
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Костная анимация по частям
А все же вы не договариваете. Можно ли сделать так:
1) Сделать модель, натянуть скелет, настроить оболочки, экспортить без остей, сам меш(чтоб знал что к чему привязано)
2) потом делать различные анимации самого скелета(предварительно скрыв тело), и экспортить их отдельными B3D файлами. Потом значит так:
int MAIN_MESH=Xors3D.xLoadAnimMesh("Обоолчка.b3D"); //само графическое тело
int MAIN_WALK=Xors3D.xLoadAnimSeq(MAIN_MESH,"ходьба.b3 d"); //анимация скелета
Xors3D.xAnimate(MAIN_MESH,mode,speed,MAIN_WALK,0, А вот здесь чо писать?)
|
(Offline)
|
|
02.07.2010, 21:52
|
#4
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Костная анимация по частям
Основной файл должен содержать анимацию (т.е. скелет как минимум). Потом хоть сколько разных анимаций загружай. Последний параметр у всех функций - название кости, т.е., грубо говоря, на ноги ложим анимацию бега, на торс - стрельбы, радуемся.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.07.2010, 22:47
|
#5
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Костная анимация по частям
Knightmare, понял!!! Здорово вы сделали!!! Очень благодарен! в блице с этим были проблемы!
Кстати еще вопрос: Вот к примеру анимировал я ноги. Понадобилось остановить. А потом с остановленного места воспроизводить. НЕужели запоминать кадр, а потом подставлять?
UPD чо на каждую кость чтолли?? О_о движок то не помрет
|
(Offline)
|
|
02.07.2010, 22:50
|
#6
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Костная анимация по частям
НЕужели запоминать кадр, а потом подставлять?
|
Просто ставишь скорость в 0. Потом возвращаешь.
чо на каждую кость чтолли?? О_о движок то не помрет
|
1) Движку пофигу, все равно все кости обсчитывать
2) Указывается корневая кость иерархии. Указали плечи - все кости до пальцев тоже будут участвовать.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо Knightmare за это полезное сообщение:
|
|
02.07.2010, 22:52
|
#7
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Костная анимация по частям
Ок, ясно! Спасибо!
|
(Offline)
|
|
03.07.2010, 17:10
|
#8
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Костная анимация по частям
Гм. Странно. Не получается, возможно, я делаю что то не так?
Вот моделька со скелетом:
Вот так ее экпортирую(файл Player1.b3d):
Потом делаю анимацию ног, предварительно выделив геометрию и часть костей и скрыв их:
Сохраняю...
Код:
class Unit
{
public Unit(string Ent,string Wa)
{
entity=Xors3D.xLoadAnimMesh(Ent);
//Xors3D.xHideEntity(entity);
Walk=Xors3D.xLoadAnimSeq(entity,Wa);
Xors3D.xAnimate(entity,1,1,Walk);
//Xors3D.xAnimate(entity,1,1,Walk,0,"Bip1 Pelvis");
}
public int entity;
public int Walk;
}
потом в программе:
Unit Unit1=new Unit("MODELS/Player1.b3d","MODELS/Player1_walk.b3D");
И нифига...
|
(Offline)
|
|
06.07.2010, 23:45
|
#9
|
Оператор ЭВМ
Регистрация: 09.06.2010
Сообщений: 21
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: Костная анимация по частям
Когда сохраняешь анимацию отдельно от сетки персонажа, ставь галочку "Bone Meshes"
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 04:51.
|