![]() |
Остановка "оружия"
Здравствуйте.
прошу помочь снова с вопросом про анимацию. :unsure: есть холодное "оружие". Удар им является анимацией "руки". Мне необходимо сделать так, чтобы при встрече с препятствием анимация останавливалась и шла к начальной позиции. Остановку я сделал: Код:
If xEntityCollided(tank\right_weapon[3],type_carbox ) Then Возможно, кто-то знает какое-то ухищрение, как сделать это? |
Ответ: Остановка "оружия"
xSetAnimFrame (Entity *entity, float frame, int sequence, const char *rootBone="") из хелпа по ксорсу
xSetAnimFrame tank\right_weapon[1], 0, 3, "connectBone001" походу так Лучше так: xAnimTime получить текущий кадр (float значение , которое надо преобразовать к int) xSetAnimTime установить кадр |
Ответ: Остановка "оружия"
Цитата:
В принципе, я бы не делал анимацией, а делал бы перемещение кости "руки" по движению мыши,но чтобы и остальные кости перемещались соответственно её... Но ни "Блиц", ни "Хорс", как я понял, не позволяют делать это. |
Ответ: Остановка "оружия"
ну сделай сам функцию обратного проигрывания анимации, в которой сам назначать время будешь
UPD как вариант - если игрок у стены, играть не анимацию удара ножа, а анимацию удара об стену, как в контре. UPD2 а getChild-ом нельзя кость найти? (я просто не вкурсе, но вдруг) |
Ответ: Остановка "оружия"
Я бы анимировал руку процедурно, тем самым имел бы полный контроль над анимацией. Можно было бы сделать всегда разный вектор отскока руки, тем самым это добавит разнообразия.
|
Ответ: Остановка "оружия"
|
Ответ: Остановка "оружия"
Находишь кость (Child), и применяешь трансформации на него, в данном случае TurnEntity или RotateEntity.
|
Ответ: Остановка "оружия"
|
Часовой пояс GMT +4, время: 23:36. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot