Анимации разного типа вооружения при взятии в руку. - Форум Игроделов
Вс, 28 Апр 2024, 01:53 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » Анимации разного типа вооружения при взятии в руку. (Анимации разного типа вооружения при взятии в руку.)
Анимации разного типа вооружения при взятии в руку.
RicosheTДата: Чт, 08 Дек 2016, 20:18 | Сообщение # 1
 
Сообщений: 8
Награды: 0
Репутация: 0
Статус: Offline
Приветствую всех. У меня есть работающий инвентарь. Как и полагается при нажатии на клавишу "I" он открывается. При повторном нажатии закрывается. При запуске игры можно найти какую либо вещь (допустим АК-74). Поднять его. Иконка отобразиться в инвентаре. Всё замечательно. Так же реализована функция взятия любого предмета поднятого со сцены из рюгзака в руку. При экиперовке проигрывается анимация взятия в руку. Суть вопроса: что необходимо сделать для того, что бы допустим когда из рюгзака мы экиперуем в руку(по умолчанию в правую) автомат то на игровом персонаже проигрывалась соответствующая анимация. А когда к примеру мы выбрасываем автомат то снова проигрывалась анимация покоя.

P.S

У меня не руки отдельно. А целиком персонаж. Единственное, что я разделил его на две половины biggrin Таз с ногами это одна модель. Тело(руки, голова) это другая модель. Анимации использую "Legacy" собственно как и модели. Хотелось бы, что бы подсказали люди кто реализовывал нечто подобное в своих проектах. Ну и собственно, если уж не составит труда то какую то пошаговую логику действий =)
Прошу прощения если написал не туда )


Сообщение отредактировал RicosheT - Чт, 08 Дек 2016, 20:19
 
СообщениеПриветствую всех. У меня есть работающий инвентарь. Как и полагается при нажатии на клавишу "I" он открывается. При повторном нажатии закрывается. При запуске игры можно найти какую либо вещь (допустим АК-74). Поднять его. Иконка отобразиться в инвентаре. Всё замечательно. Так же реализована функция взятия любого предмета поднятого со сцены из рюгзака в руку. При экиперовке проигрывается анимация взятия в руку. Суть вопроса: что необходимо сделать для того, что бы допустим когда из рюгзака мы экиперуем в руку(по умолчанию в правую) автомат то на игровом персонаже проигрывалась соответствующая анимация. А когда к примеру мы выбрасываем автомат то снова проигрывалась анимация покоя.

P.S

У меня не руки отдельно. А целиком персонаж. Единственное, что я разделил его на две половины biggrin Таз с ногами это одна модель. Тело(руки, голова) это другая модель. Анимации использую "Legacy" собственно как и модели. Хотелось бы, что бы подсказали люди кто реализовывал нечто подобное в своих проектах. Ну и собственно, если уж не составит труда то какую то пошаговую логику действий =)
Прошу прощения если написал не туда )

Автор - RicosheT
Дата добавления - 08 Дек 2016 в 20:18
seamanДата: Сб, 10 Дек 2016, 18:45 | Сообщение # 2
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Сорри, но вижу противоречие.
Цитата
При экиперовке проигрывается анимация взятия в руку

Цитата
что необходимо сделать для того, что бы проигрывалась соответствующая анимация

Так она проигрывается или нет?
 
СообщениеСорри, но вижу противоречие.
Цитата
При экиперовке проигрывается анимация взятия в руку

Цитата
что необходимо сделать для того, что бы проигрывалась соответствующая анимация

Так она проигрывается или нет?

Автор - seaman
Дата добавления - 10 Дек 2016 в 18:45
RicosheTДата: Сб, 10 Дек 2016, 19:50 | Сообщение # 3
 
Сообщений: 8
Награды: 0
Репутация: 0
Статус: Offline
Цитатаseaman ()
Так она проигрывается или нет?
Да. Сама анимация при взятии автомата в руку проигрывается когда экиперуешь его из инвентаря. НО если я допустим найду пистолет и возьму его в руку то проиграется такая же анимация будто игрок берет в руку автомат, а не пистолет. Вот собственно и не пойму как реализовать что бы определяло исходя из того какой предмет мы берём в руку проигрывалась соответствующая анимация. Вот ссылка на видео:
Видео демонстрирующее взятие автомата в руку из рюгзака.

Пробовал реализовать воспроизведение анимации так:

1) Создал анимацию доставания пистолета. (когда экиперуем его из инвенторя)
2) К правой руке прикрепил триггер.
3) Повешал на триггер скрипт (Если при входе/нахождении в триггере объект с тэгом "Pistol" проигрываем анимацию доставания пистолета)

Но не работает. Т.к. пистолет экиперуется в руку моментально тобишь(нажал на него мышкой в рюгзаке и он появился в руке).


Сообщение отредактировал RicosheT - Вс, 11 Дек 2016, 10:58
 
Сообщение
Цитатаseaman ()
Так она проигрывается или нет?
Да. Сама анимация при взятии автомата в руку проигрывается когда экиперуешь его из инвентаря. НО если я допустим найду пистолет и возьму его в руку то проиграется такая же анимация будто игрок берет в руку автомат, а не пистолет. Вот собственно и не пойму как реализовать что бы определяло исходя из того какой предмет мы берём в руку проигрывалась соответствующая анимация. Вот ссылка на видео:
Видео демонстрирующее взятие автомата в руку из рюгзака.

Пробовал реализовать воспроизведение анимации так:

1) Создал анимацию доставания пистолета. (когда экиперуем его из инвенторя)
2) К правой руке прикрепил триггер.
3) Повешал на триггер скрипт (Если при входе/нахождении в триггере объект с тэгом "Pistol" проигрываем анимацию доставания пистолета)

Но не работает. Т.к. пистолет экиперуется в руку моментально тобишь(нажал на него мышкой в рюгзаке и он появился в руке).

Автор - RicosheT
Дата добавления - 10 Дек 2016 в 19:50
seamanДата: Вт, 13 Дек 2016, 18:23 | Сообщение # 4
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Какая система используется? Меканим или старая?
В любом случае нужно иметь столько анимаций, сколько предметов берешь.
В старой системе кладешь их в массив и выбираешь из него нужную по коду поднятого объекта.
В Меканим в аниматоре делаешь переход из идл во все анимации поднятия, Условие перехода в нужную - по параметру. Параметр передаешь из скрипта - это тот же код поднятого предмета.
 
СообщениеКакая система используется? Меканим или старая?
В любом случае нужно иметь столько анимаций, сколько предметов берешь.
В старой системе кладешь их в массив и выбираешь из него нужную по коду поднятого объекта.
В Меканим в аниматоре делаешь переход из идл во все анимации поднятия, Условие перехода в нужную - по параметру. Параметр передаешь из скрипта - это тот же код поднятого предмета.

Автор - seaman
Дата добавления - 13 Дек 2016 в 18:23
RicosheTДата: Вт, 13 Дек 2016, 19:05 | Сообщение # 5
 
Сообщений: 8
Награды: 0
Репутация: 0
Статус: Offline
seaman, используется старая система. Анимации я подготовил. Есть анимация когда берёшь в руку автомат. Есть анимация когда берёшь в руку пистолет. Вот скрипты не могли бы Вы конкретней указать в каком именно скрипте нужно именно указывать.. Желательно, если Вы посмотрите скрипты и пропишите хотя бы для одной анимации мне пример. А с дальнейшим по аналогии сам начну разбираться, если конечно не трудно =) Ссылка на скрипты
 
Сообщениеseaman, используется старая система. Анимации я подготовил. Есть анимация когда берёшь в руку автомат. Есть анимация когда берёшь в руку пистолет. Вот скрипты не могли бы Вы конкретней указать в каком именно скрипте нужно именно указывать.. Желательно, если Вы посмотрите скрипты и пропишите хотя бы для одной анимации мне пример. А с дальнейшим по аналогии сам начну разбираться, если конечно не трудно =) Ссылка на скрипты

Автор - RicosheT
Дата добавления - 13 Дек 2016 в 19:05
seamanДата: Вт, 13 Дек 2016, 23:13 | Сообщение # 6
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Я не нашел ни одной анимации и ни одного запуска анимации....

Вообще старую анимацию я уже успел забыть, но что-то вроде этого:
Смысл слов "кладешь их в массив и выбираешь из него нужную по коду поднятого объекта":
В массив анимаций в компоненте Animation кладешь все свои анимации поднятия предметов с именами теми же что у самих предметов и применяешь нечто типа:
Код
using UnityEngine;

public class AnimOld : MonoBehaviour
{
    private Animation anim;
    
    void Start ()
    {
     anim = GetComponent<Animation <img src="/.s/sm/23/angry.gif" border="0" align="absmiddle" alt="angry" /> );
    }

    public GetItem(Item item)
    {
        if(anim[item.name] != null) anim.CrossFade(item.name);
    }
}
 
СообщениеЯ не нашел ни одной анимации и ни одного запуска анимации....

Вообще старую анимацию я уже успел забыть, но что-то вроде этого:
Смысл слов "кладешь их в массив и выбираешь из него нужную по коду поднятого объекта":
В массив анимаций в компоненте Animation кладешь все свои анимации поднятия предметов с именами теми же что у самих предметов и применяешь нечто типа:
Код
using UnityEngine;

public class AnimOld : MonoBehaviour
{
    private Animation anim;
    
    void Start ()
    {
     anim = GetComponent<Animation <img src="/.s/sm/23/angry.gif" border="0" align="absmiddle" alt="angry" /> );
    }

    public GetItem(Item item)
    {
        if(anim[item.name] != null) anim.CrossFade(item.name);
    }
}

Автор - seaman
Дата добавления - 13 Дек 2016 в 23:13
RicosheTДата: Ср, 14 Дек 2016, 00:29 | Сообщение # 7
 
Сообщений: 8
Награды: 0
Репутация: 0
Статус: Offline
seaman, Спасибо большое буду пробовать. Надеюсь всё получиться =)

Добавлено (14 Дек 2016, 00:29)
---------------------------------------------
seaman, хм.. выдаёт ошибку в консоле при проверке скрипта.. Хотя я его всего лишь только вставил и сохранил..

Вот что выдаёт


Сообщение отредактировал RicosheT - Ср, 14 Дек 2016, 00:36
 
Сообщениеseaman, Спасибо большое буду пробовать. Надеюсь всё получиться =)

Добавлено (14 Дек 2016, 00:29)
---------------------------------------------
seaman, хм.. выдаёт ошибку в консоле при проверке скрипта.. Хотя я его всего лишь только вставил и сохранил..

Вот что выдаёт

Автор - RicosheT
Дата добавления - 14 Дек 2016 в 00:29
seamanДата: Ср, 14 Дек 2016, 09:45 | Сообщение # 8
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Прямо скопировал? Вот с этим?
Цитата
Код
<img src="/.s/sm/23/angry.gif" border="0" align="absmiddle" alt="angry" /

Форум как то хитро отформатировал скрипт...
 
СообщениеПрямо скопировал? Вот с этим?
Цитата
Код
<img src="/.s/sm/23/angry.gif" border="0" align="absmiddle" alt="angry" /

Форум как то хитро отформатировал скрипт...

Автор - seaman
Дата добавления - 14 Дек 2016 в 09:45
RicosheTДата: Вт, 20 Дек 2016, 13:36 | Сообщение # 9
 
Сообщений: 8
Награды: 0
Репутация: 0
Статус: Offline
seaman, Да с этой строчкой

Добавлено (14 Дек 2016, 11:11)
---------------------------------------------
seaman, может её стоит неким образом отредактировать ? :-D

Добавлено (20 Дек 2016, 13:36)
---------------------------------------------
seaman, Никак не пойму почему юнити выдаёт ошибку при проверке скрипта

 
Сообщениеseaman, Да с этой строчкой

Добавлено (14 Дек 2016, 11:11)
---------------------------------------------
seaman, может её стоит неким образом отредактировать ? :-D

Добавлено (20 Дек 2016, 13:36)
---------------------------------------------
seaman, Никак не пойму почему юнити выдаёт ошибку при проверке скрипта


Автор - RicosheT
Дата добавления - 20 Дек 2016 в 13:36
seamanДата: Пт, 23 Дек 2016, 16:31 | Сообщение # 10
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Если Вы этого не понимаете - может Вам не нужно программировать?
 
СообщениеЕсли Вы этого не понимаете - может Вам не нужно программировать?

Автор - seaman
Дата добавления - 23 Дек 2016 в 16:31
Форум Игроделов » UNITY3D » СКРИПТИНГ » Анимации разного типа вооружения при взятии в руку. (Анимации разного типа вооружения при взятии в руку.)
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024