Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 08.07.2012, 17:01   #1
Eugenes
AnyKey`щик
 
Регистрация: 30.06.2012
Сообщений: 12
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос по анимации

Нашел на форуме FAQ по работе с AnimMesh. Там есть строчки вида

man = LoadAnimMesh("MedicTFC.b3d") ; Грузим модельку перца
idle = LoadAnimSeq(man, "Idle.b3d") ; Вот так грузим первую анимацию
Я просто раньше работал только с .md2 и не совсем понятен этот код. Т.е. у нас есть 3D модель анимированная персонажа, например, где он стоит на месте. Далее, вторая модель, где он, например, стреляет. И мы грузим вторую анимацию через LoadAnimSeq?
Можно ли как-то работать с кадрами анимации, как с md2? Т.е. проиграл анимацию хотьбы - такие-то кадры, анимация выстрела - такие-то кадры.

PS предположим у меня есть анимация, где игрок бежит, а есть анимация, где он стреляет. Можно ли совместить, чтобы игрок и бежал и стрелял или для этого придется делать это в 3D редакторе?
(Offline)
 
Ответить с цитированием
Старый 17.07.2012, 01:48   #2
Кирпи4
Социал-сычевист
 
Аватар для Кирпи4
 
Регистрация: 24.06.2011
Сообщений: 611
Написано 342 полезных сообщений
(для 1,359 пользователей)
Ответ: Вопрос по анимации

Ох, это гемор большой, смешивание это...
Хоть и не сампый православный, но пашущий вариант:
1) копируем модель персонажа, вешаем её на основную модель, скрываем нулевой альфой
2) загружаем анимацию бега и стояния на основную модель, а на скрытую только анимацию выстрела
3) создаём в коде Data секцию, в которую входят только те кости, которые находятся в верхней части туловища
4) вставляем вот такую функцию:
Function SyncPlayerBones(PlayerMesh, HiddenMesh)
  Restore .BonesData ; метка DATA секции
  Read BonesNum%  ; Количество костей
  For i=1 to BonesNum
      Read Name$ ; Имя кости 
      bone1=FindChild(PlayerMesh,Name) : bone2=FindChild(HiddenMesh,Name)
      RotateEntity bone1, EntityPitch(bone2,0), EntityYaw(bone2,0), EntityRoll(bone2,0)
  Next
EndFunction
5) вставляем вот такой код между UpdateWorld и RenderWorld
If Animating(HiddenMesh) SyncPlayerBones(PlayerMesh, HiddenMesh) ; HiddenMesh  - скрытый, PlayerMesh - основной меши игрока
6) наслаждаемся. Для того, чтобы заставить игрока стрельнуть, анимируем скрытый меш =)

Вот пример DATA - секции:
.BonesData
Data 4
Data "Golova","Tulovishe","Lruka","Pruka"
__________________


(Offline)
 
Ответить с цитированием
Старый 17.07.2012, 01:52   #3
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Вопрос по анимации

Data так же некошерно как и Goto
(Offline)
 
Ответить с цитированием
Старый 23.07.2012, 20:33   #4
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Вопрос по анимации

Честно сам не разбирался, но случайно однажды получилось такое, правда мне не нужен был такой эффект.
Я делал в 3д максе, попробуй так:

1)создаешь анимацию бега - для этого двигаешь только ноги в анимации, т.е. после постановы позы записываешь информацию только кости ног.
2)сохраняешь эту анимацию
4)стираешь всю анимацию в 3дмаксе и пишешь таким же методом анимацию рук и т.д.
5)в блитце затем совместно проигрываешь нужные анимации, и если анимация не пересекается костями - будет тебе счастье
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Crayzi (20.11.2012)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com