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

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

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

Xors3D Графический движок с поддержкой DirectX9

Ответ
 
Опции темы
Старый 27.02.2012, 12:23   #1
Krep_Kospit
Оператор ЭВМ
 
Регистрация: 16.01.2012
Сообщений: 30
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос Остановка "оружия"

Здравствуйте.

прошу помочь снова с вопросом про анимацию.
есть холодное "оружие". Удар им является анимацией "руки". Мне необходимо сделать так, чтобы при встрече с препятствием анимация останавливалась и шла к начальной позиции.
Остановку я сделал:
If xEntityCollided(tank\right_weapon[3],type_carbox ) Then
xAnimate tank\right_weapon[1], 0, 1,3, 0, "connectBone001"
		EndIf
Что же качается возврата - то тут не могу понять... Команды для взятия текущего фрейма нет, команды для перехода в начальную позицию тоже...
Возможно, кто-то знает какое-то ухищрение, как сделать это?
(Offline)
 
Ответить с цитированием
Старый 27.02.2012, 16:22   #2
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Остановка "оружия"

xSetAnimFrame (Entity *entity, float frame, int sequence, const char *rootBone="") из хелпа по ксорсу
xSetAnimFrame tank\right_weapon[1], 0, 3, "connectBone001"
походу так
Лучше так:
xAnimTime получить текущий кадр (float значение , которое надо преобразовать к int)
xSetAnimTime установить кадр
(Offline)
 
Ответить с цитированием
Старый 27.02.2012, 16:58   #3
Krep_Kospit
Оператор ЭВМ
 
Регистрация: 16.01.2012
Сообщений: 30
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Остановка "оружия"

Сообщение от pozitiffcat Посмотреть сообщение
xSetAnimFrame (Entity *entity, float frame, int sequence, const char *rootBone="") из хелпа по ксорсу
xSetAnimFrame tank\right_weapon[1], 0, 3, "connectBone001"
походу так
Лучше так:
xAnimTime получить текущий кадр (float значение , которое надо преобразовать к int)
xSetAnimTime установить кадр
Спасибо, но я всё это уже делал. Результат не устраивает только тем, что "рука" из текущей позиции возвращается на исходную слишком быстро... Вот если б был параметр в SetAnimFrame плавного перемещения к кадру - было бы самое оно...

В принципе, я бы не делал анимацией, а делал бы перемещение кости "руки" по движению мыши,но чтобы и остальные кости перемещались соответственно её... Но ни "Блиц", ни "Хорс", как я понял, не позволяют делать это.
(Offline)
 
Ответить с цитированием
Старый 27.02.2012, 17:43   #4
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Остановка "оружия"

ну сделай сам функцию обратного проигрывания анимации, в которой сам назначать время будешь

UPD как вариант - если игрок у стены, играть не анимацию удара ножа, а анимацию удара об стену, как в контре.

UPD2 а getChild-ом нельзя кость найти? (я просто не вкурсе, но вдруг)
(Offline)
 
Ответить с цитированием
Старый 27.02.2012, 17:49   #5
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Остановка "оружия"

Я бы анимировал руку процедурно, тем самым имел бы полный контроль над анимацией. Можно было бы сделать всегда разный вектор отскока руки, тем самым это добавит разнообразия.
(Offline)
 
Ответить с цитированием
Старый 27.02.2012, 18:04   #6
Krep_Kospit
Оператор ЭВМ
 
Регистрация: 16.01.2012
Сообщений: 30
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Остановка "оружия"

MoKa, можно подробнее?
вот сама "рука": http://rghost.ru/36737179
можешь на примере её объяснить?
(Offline)
 
Ответить с цитированием
Старый 27.02.2012, 20:29   #7
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Остановка "оружия"

Находишь кость (Child), и применяешь трансформации на него, в данном случае TurnEntity или RotateEntity.
(Offline)
 
Ответить с цитированием
Старый 27.02.2012, 23:48   #8
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Остановка "оружия"


Сообщение от MoKa Посмотреть сообщение
Находишь кость (Child), и применяешь трансформации на него, в данном случае TurnEntity или RotateEntity.
ааа так значит всетаки можно кость найти =) я угадал =)
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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