Приветствую всех. У меня есть работающий инвентарь. Как и полагается при нажатии на клавишу "I" он открывается. При повторном нажатии закрывается. При запуске игры можно найти какую либо вещь (допустим АК-74). Поднять его. Иконка отобразиться в инвентаре. Всё замечательно. Так же реализована функция взятия любого предмета поднятого со сцены из рюгзака в руку. При экиперовке проигрывается анимация взятия в руку. Суть вопроса: что необходимо сделать для того, что бы допустим когда из рюгзака мы экиперуем в руку(по умолчанию в правую) автомат то на игровом персонаже проигрывалась соответствующая анимация. А когда к примеру мы выбрасываем автомат то снова проигрывалась анимация покоя.
P.S
У меня не руки отдельно. А целиком персонаж. Единственное, что я разделил его на две половины Таз с ногами это одна модель. Тело(руки, голова) это другая модель. Анимации использую "Legacy" собственно как и модели. Хотелось бы, что бы подсказали люди кто реализовывал нечто подобное в своих проектах. Ну и собственно, если уж не составит труда то какую то пошаговую логику действий =) Прошу прощения если написал не туда )
Сообщение отредактировал RicosheT - Чт, 08 Дек 2016, 20:19
Да. Сама анимация при взятии автомата в руку проигрывается когда экиперуешь его из инвентаря. НО если я допустим найду пистолет и возьму его в руку то проиграется такая же анимация будто игрок берет в руку автомат, а не пистолет. Вот собственно и не пойму как реализовать что бы определяло исходя из того какой предмет мы берём в руку проигрывалась соответствующая анимация. Вот ссылка на видео: Видео демонстрирующее взятие автомата в руку из рюгзака.
1) Создал анимацию доставания пистолета. (когда экиперуем его из инвенторя) 2) К правой руке прикрепил триггер. 3) Повешал на триггер скрипт (Если при входе/нахождении в триггере объект с тэгом "Pistol" проигрываем анимацию доставания пистолета)
Но не работает. Т.к. пистолет экиперуется в руку моментально тобишь(нажал на него мышкой в рюгзаке и он появился в руке).
Сообщение отредактировал RicosheT - Вс, 11 Дек 2016, 10:58
Какая система используется? Меканим или старая? В любом случае нужно иметь столько анимаций, сколько предметов берешь. В старой системе кладешь их в массив и выбираешь из него нужную по коду поднятого объекта. В Меканим в аниматоре делаешь переход из идл во все анимации поднятия, Условие перехода в нужную - по параметру. Параметр передаешь из скрипта - это тот же код поднятого предмета.
seaman, используется старая система. Анимации я подготовил. Есть анимация когда берёшь в руку автомат. Есть анимация когда берёшь в руку пистолет. Вот скрипты не могли бы Вы конкретней указать в каком именно скрипте нужно именно указывать.. Желательно, если Вы посмотрите скрипты и пропишите хотя бы для одной анимации мне пример. А с дальнейшим по аналогии сам начну разбираться, если конечно не трудно =) Ссылка на скрипты
Я не нашел ни одной анимации и ни одного запуска анимации....
Вообще старую анимацию я уже успел забыть, но что-то вроде этого: Смысл слов "кладешь их в массив и выбираешь из него нужную по коду поднятого объекта": В массив анимаций в компоненте Animation кладешь все свои анимации поднятия предметов с именами теми же что у самих предметов и применяешь нечто типа:
Код
using UnityEngine;
public class AnimOld : MonoBehaviour { private Animation anim;
seaman, Спасибо большое буду пробовать. Надеюсь всё получиться =)
Добавлено (14 Дек 2016, 00:29) --------------------------------------------- seaman, хм.. выдаёт ошибку в консоле при проверке скрипта.. Хотя я его всего лишь только вставил и сохранил..
Вот что выдаёт
Сообщение отредактировал RicosheT - Ср, 14 Дек 2016, 00:36