Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.94/16: Рейтинг темы: голосов - 16, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 23.12.2022
Сообщений: 72

Не могу сделать анимацию при движении в 3D от первого лица

23.12.2022, 17:38. Показов 4478. Ответов 66

Студворк — интернет-сервис помощи студентам
Я новичок в программировании и толком не знаю код. Я пытаюсь реализовать, чтобы проигралась анимация бега, когда персонаж двигается. Анимация бега у меня в виде двигающейся вверх вниз камеры. Я пытался сделать это через Animator, а затем написать скрипт, в котором в зависимости от скорости передвижения менялясь анимация на определенную. Сделал я это через Blend Tree в Animator. Я создал параметр Speed, но приостановился на моменте - а как же прописать скрипт, чтобы в зависимости от значения Speed менялась проигрываемая анимация? Пытался найти в интернете - нашел, но ничего из этого не сработало. Даже сносил все до нуля и пробовал сделать так, как на видео, но ничего не выходило (Скрипт я вешал на камеру, так как Аниматор и сама анимация происходит с ней и камера прикреплена к Capsule(обьект в роли персонажа)). Можете помочь со скриптом? Если нужно более детально описать ситуацию то спрашивайте!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.12.2022, 17:38
Ответы с готовыми решениями:

Сделать передвижение персонажа с видом от первого лица в graph3d
Сделать передвижение персонажа с видом от первого лица в graph3d. Добавлено через 2 минуты Ну например : передвижение персонажа с...

Не могу сделать так чтоб в движении квадратик не оставлял след
Я в паскале нарисовал рисунок, типа пятнашек, и нарисовал прямоугольник по контуру одного из квадратиков, и сделал чтоб он двигался, но он...

Не могу сделать анимацию сферы
Здравствуйте! Помогите, пожалуйста с заданием. Не могу сделать анимацию сферы. В чем моя ошибка? 4) Изобразите сферу. Ее...

66
0 / 0 / 0
Регистрация: 23.12.2022
Сообщений: 72
24.12.2022, 01:20  [ТС]
Студворк — интернет-сервис помощи студентам
В том то и дело, что я не знаю как. То-есть я конечно могу прервать цепочку если нажму Mute. Но это ведь должно производиться через скрипт верно?
0
193 / 135 / 57
Регистрация: 28.05.2022
Сообщений: 894
24.12.2022, 01:25

краткое обьяснение о том что я сказал, только потом понял что неправильно нарисовал, короче то что с низу должно быть выше а то что выше должно быть с низу.
0
193 / 135 / 57
Регистрация: 28.05.2022
Сообщений: 894
24.12.2022, 01:38
с верху при переходе greater>0.5 во втором переходе на бег greater>1
с низу при переходе less<0.5 во втором переходе на бег less<1
что я написал, если less не меньше < 0.5 то переход назад не будет совершен

суть в том что vertical и horizontal будет равно только от -1 до 1 поэтому надо будет самому додумывать по типу при нажатой кнопке lshift

Добавлено через 1 минуту
но это если я понял только что прочитанную тему.

Добавлено через 8 минут
ну а еще у меня больная фантазия я могу сделать действие в 20 этапов, но рабочее, хотя можно было сделать в одно, так что извиняюсь если запутал и отбил мотивацию обучению unity.
0
0 / 0 / 0
Регистрация: 23.12.2022
Сообщений: 72
24.12.2022, 01:50  [ТС]
Не мотивацию ты мне не отбил! Я силен духом и часто с таким сталкивался но продолжал делать проект!

Добавлено через 5 минут
Теперь осталось записать это в виде скрипта, так ведь?
0
193 / 135 / 57
Регистрация: 28.05.2022
Сообщений: 894
24.12.2022, 01:54
Получается так

Добавлено через 54 секунды
Для начала бы просто проверили работает ли ходьба и бег при изменении переменной. Speed в аниматоре
0
0 / 0 / 0
Регистрация: 23.12.2022
Сообщений: 72
24.12.2022, 02:15  [ТС]
Верно, да, сейчас проверю и если не затруднит не могли бы вы прислать скрипт? Я примерно понимаю как его сделать, просто не понимаю как его записать кодом правильно.

Добавлено через 9 минут
Хм, мне кажется я уже выгляжу глупо, но, а как собственно прописать в Animator greater>0.5 и т.д?

Добавлено через 36 секунд
А я понял как

Добавлено через 7 минут
И так вот мои наблюдения. Я сделал так как вы сказали (вроде бы):

При значении Speed 0 ---- Все анимации проигрываются друг за другом (логично)

При значении Speed 0.5 ---- Работает только анимация Idle (логично тоже)

При значении Speed 1 ---- Работает только анимация Idle ( нелогично)

При значении Speed 1.5 ---- Работает только анимация Idle ( нелогично тоже)

При всех отрицательных значений Speed (тоесть -0.5, -1, -1.5) все анимации проигрываются друг за другом
0
193 / 135 / 57
Регистрация: 28.05.2022
Сообщений: 894
24.12.2022, 02:15
Greater это не указывать значение, speed это значение для указания. A greater способ сравнения то есть перевод на русский больше
К сожалению не смогу прислать, я уже за телефоном, собираюсь спать.
0
0 / 0 / 0
Регистрация: 23.12.2022
Сообщений: 72
24.12.2022, 02:15  [ТС]
Что-то явно здесь не так
0
0 / 0 / 0
Регистрация: 23.12.2022
Сообщений: 72
24.12.2022, 02:17  [ТС]
Я уже увидел то, что отвечает за это
Я так понял это отвечает за Greater и Less?
0
193 / 135 / 57
Регистрация: 28.05.2022
Сообщений: 894
24.12.2022, 02:18
На счёт того когда вы указываете скорость и увас работает все подряд, вы указали неправильные переходы, скиньте скрины перехода к анимации ходьбы и обратный переход к анимации ожидания

Добавлено через 1 минуту
Вот! Вы на скрине сделали все правильно только где less надо переход обратно a greater в переходе на анимацию
0
0 / 0 / 0
Регистрация: 23.12.2022
Сообщений: 72
24.12.2022, 02:21  [ТС]
Я исправил! Теперь когда значение больше 0.4 (так удобнее) то включается анимация ходьбы, а если меньше то состояния покоя. Если значение больше 0.9, то включается анимация бега, а если меньше то включается анимация ходьбы. Верно?
0
193 / 135 / 57
Регистрация: 28.05.2022
Сообщений: 894
24.12.2022, 02:31
Именно так, но проверки наше все
0
0 / 0 / 0
Регистрация: 23.12.2022
Сообщений: 72
24.12.2022, 02:35  [ТС]
Верно, мне нужно будет написать скрипт. Вы бы не могли бы мне помочь с этим завтра? Я с вашей помощью уже начал представлять еще лучше программирование и уже чувствую, что скоро смогу писать подобный код самостоятельно!

Добавлено через 12 секунд
Приятной вам ночи!
0
193 / 135 / 57
Регистрация: 28.05.2022
Сообщений: 894
24.12.2022, 02:38
Без проблем
0
193 / 135 / 57
Регистрация: 28.05.2022
Сообщений: 894
24.12.2022, 12:37
Лучший ответ Сообщение было отмечено Aquander как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class PlayerCh : MonoBehaviour
{
    public Animator _animator;
    void Update()
    {
        //если у нас нажата клавиша W или S, то делаем проверку нажат ли Lshift если да float speed = 1
        //если Lshift не нажат float speed = 0.5
        if (Input.GetAxis("Vertical") != 0)
        {
            if(Input.GetKey(KeyCode.LeftShift))
            {
                _animator.SetFloat("Speed", 1); //бег
            }
            else
            {
                _animator.SetFloat("Speed", 0.5f); //ходьба
            }
        }
        else //если мы не двигаемся в перед/назад то float speed = 0
        {
            _animator.SetFloat("Speed", 0f); //idle
        }
    }
}
0
0 / 0 / 0
Регистрация: 23.12.2022
Сообщений: 72
24.12.2022, 14:14  [ТС]
Осталась проблема и я кажется понял в чем. Скрипт то должен работать, только вот я заметил, что камера не изменяет своих координат, так как она прикреплена к Capsule. Но аниматор то прикреплен у меня к камере, а не Capsule, поэтому я не могу прикрепить скрипт к Capsule и в итоге из-за того что координаты камеры не меняются - скрипт не работает.

Я так понял надо Аниматор прикрепить к Capsule (ведь камера прикреплена именно к ней) и тогда этот скрипт заработает верно? Только придется изменить анимации, тоесть сделать новые анимации не для Main Camera, а для Capsule. Верно?
0
193 / 135 / 57
Регистрация: 28.05.2022
Сообщений: 894
24.12.2022, 15:20
если все анимации завязаны на движении камеры, вы можете просто сделать скрипт слежения камеры за игроком.
1
0 / 0 / 0
Регистрация: 23.12.2022
Сообщений: 72
24.12.2022, 15:30  [ТС]
И так я сделал это с вашей помощью! Осталась лишь одна маленькая деталь. Анимация сменяется на другую, почему-то только когда анимация закончится. То-есть если у тебя анимация будет длиться 5 секунд, то ты на другую анимацию сможешь перейти только когда закончится первая. Можно как-то убрать это ограничение, чтобы анимация могла в любой момент сразу же перескочить на другую?

Добавлено через 10 минут
Ура я исправил и эту ошибку! Нужно было справа убрать галочку Has Exit Time (Чтобы ее найти зайдите в Animator и выберите любое Transition (Это стрелка между блоками) Там вы сможете найти эту галочку)
0
193 / 135 / 57
Регистрация: 28.05.2022
Сообщений: 894
24.12.2022, 15:32
да все верно, эта галочка творит чудеса
Цитата Сообщение от Aquander Посмотреть сообщение
Нужно было справа убрать галочку Has Exit Time
я буду непротив если вы поставите реакцию на мое сообщение
1
0 / 0 / 0
Регистрация: 23.12.2022
Сообщений: 72
24.12.2022, 15:33  [ТС]
А как это сделать? Я новичок на этом форуме, раньше особо я не пользовался форумами и т.п, но в этот раз я уже почти что отчаялся.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.12.2022, 15:33

Создать анимацию девочки в движении
Требуется сделать анимацию-девочка в движении. Движение-с правого верхнего угла в левый нижний с текстом: Girl/Девочка

Не могу сделать передвежение label2 и убрать анимацию
Создаю подобие банкомата, и не могу сделать передвижение label2, он должен передвигаться вместе с чеком, как не пытался, только чек...

Как сделать наклон по оси z при движении?
есть два скрипта, один на джойстике : using UnityEngine; using UnityEngine.UI; using UnityEngine.Events; using...

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

Как сделать упор в границы при движении камеры?
Есть камера с коллайдером + триггер, есть 4 объекта (сверху, снизу, слева и справа), на них поцеплены коллайдеры и ригидбоди (кинематик),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru