С Новым годом! Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/34: Рейтинг темы: голосов - 34, средняя оценка - 4.74
82 / 78 / 34
Регистрация: 13.02.2018
Сообщений: 1,347

Анимация работает без смещения

31.07.2018, 20:28. Показов 6893. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, в общем есть анимация падения из c4d, в юнити она производиться как анимация где человек упал на пол т.е. со смещениям в низ, а в аниматоре без смещения, видео прикрепил:
https://www.youtube.com/watch?... e=youtu.be
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.07.2018, 20:28
Ответы с готовыми решениями:

Не корректно работает анимация
Здравствуйте! Потихонько осваиваю юнити, но появилась некоторая проблема: при добавлении на сцены нескольких одинаковых объектов из префаба...

Анимация работает неправильно
Есть ловушка.При вхождении в область ее действия,активируется анимация самой ловушки.Я сделал одну такую ловушку.Все работает.Потом...

Анимация масштабирования и смещения соседнего объекта
Уважаемые форумчане! Подскажите пожалуйста в какую сторону копать? Есть 2 ImageView расположенных рядом. Один из них увеличивается...

8
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10425 / 5155 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
31.07.2018, 23:08
Лучший ответ Сообщение было отмечено k0vpack как решение

Решение

k0vpack,
Это регулируется флажком Apply root motion:
Название: Скриншот 2018-07-31 23.05.32.png
Просмотров: 114

Размер: 16.5 Кб

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

В целом у вас нет синхронизации движения ног и скорости бега (то есть ноги двигаются с одной скоростью, а бежит робот - с другой). Нужно либо включить Apply root motion и дать роботу бежать так, как задано в анимации (тогда и падение будет правильным), либо же выключить Apply root motion и двигать робота вручную. Но тогда и падение тоже нужно делать вручную.
Впрочем я могу ошибаться, потому что это все зависит от того, как сделана анимация.
1
136 / 131 / 43
Регистрация: 07.11.2017
Сообщений: 553
01.08.2018, 19:53
k0vpack, а то обо что ударяется робот выступает только как триггер или оно твердое физическое тело?

Добавлено через 48 секунд
впечатление что робот падает на него и не может упасть далее, так как оно ему мешает)
1
82 / 78 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
02.08.2018, 17:04  [ТС]
Storm23, долго не мог писать т.к. не был дома, вопрос у меня по поводу:
Цитата Сообщение от Storm23 Посмотреть сообщение
дать роботу бежать так, как задано в анимации
как мне создать такую анимацию что бы бег засчитывался? У меня простой бег на месте, мне нужно сделать что бы бег был долгий? а как тогда во время этой анимации ставить другую анимацию?
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10425 / 5155 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
03.08.2018, 00:13
Лучший ответ Сообщение было отмечено k0vpack как решение

Решение

Цитата Сообщение от k0vpack Посмотреть сообщение
как мне создать такую анимацию что бы бег засчитывался?
1) Скачиваем модель робота в формате fbx.
2) Открываем https://www.mixamo.com, регестрируемся, загружаем туда нашего робота.
3) Находим нужную анимацию, скачиваем fbx файл вместе с анимацией.
4) Перетаскиваем fbx в проект Unity. В свойствах ставим AnimationType = Humanoid.
5) Вытаскиваем анимацию бега из fbx (нажав Ctrl-D). В свойствах анимации ставим Loop Time.
6) Создаем Animator Controller. Перетаскиваем в него анимацию бега.
7) Перетаскиваем робота на сцену, в аниматоре выставляем созданный Animator Controller.
8) Выставляем галочку Apply root motion.
9) Запускаем проект - робот бежит. Анимация движения ног точно соответствует скорости движения робота.

Ролик: https://youtu.be/0XdVb3JBmo8


а как тогда во время этой анимации ставить другую анимацию?
Вопрос не понятен. Переход анимаций делаете точно так же как и до этого.
2
82 / 78 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
03.08.2018, 13:46  [ТС]
Storm23, работает, но не совсем верно, даже у вас на видео видно что при беге меняются все 3 позиции, хотя бежит он прямо, как этого можно избежать?
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10425 / 5155 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
03.08.2018, 14:43
Лучший ответ Сообщение было отмечено k0vpack как решение

Решение

Цитата Сообщение от k0vpack Посмотреть сообщение
даже у вас на видео видно что при беге меняются все 3 позиции, хотя бежит он прямо
Ну во-первых это не проблема Unity. Так сделана анимация, что при беге он смещается вбок.
Во-вторых, роботом по-любому нужно управлять и задавать ему направление бега.
Если вам нужно что бы он бежал строго вперед, значит нужно повесить на него скрипт:
C#
1
2
3
4
5
6
7
8
9
10
11
using UnityEngine;
 
public class ForwardDirection : MonoBehaviour
{
    void FixedUpdate ()
    {
        var pos = transform.position;
        pos.x = 0;
        transform.position = pos;
    }
}
И тогда он будет бежать строго вперед, без бокового смещения.
2
82 / 78 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
03.08.2018, 16:43  [ТС]
Storm23, думал может проблема в юнити, но спасибо за совет, и последний вопрос на будущее, какое и двух нижний действий лучшее?:
C#
1
transform.position = new Vector3(0, transform.position.y, transform.position.z)
C#
1
2
3
var pos = transform.position;
pos.x = 0;
transform.position = pos;
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10425 / 5155 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
03.08.2018, 18:24
Цитата Сообщение от k0vpack Посмотреть сообщение
и последний вопрос на будущее, какое и двух нижний действий лучшее?
В данном случае практически без разницы. Второй вариант может быть чуть быстрее. Но на очень малую величину, что бы об этом заботится.

Хотя если бы вместо Vector3 стоял ссылочный тип, то оператора new нужно по возможности избегать.
Например, если в Update вам нужно создать и присвоить массив:

C#
1
2
3
4
void Update()
{
    mesh.verticies = new Vector3[10]{....};
}
То вместо этого лучше делать так:

C#
1
2
3
4
5
6
7
8
9
Vector3[] verticies = new Vector3[10];
 
void Update()
{
    verticies[0] = ...;
    verticies[1] = ...;
    ....
    mesh.verticies = verticies;
}
Вызов оператора new для ссылочных типов занимает время, память и может вызывать лаги при сборке мусора.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.08.2018, 18:24
Помогаю со студенческими работами здесь

Цветовое сглаживание без смещения
Рисую линию по 3-м точкам. Если glShadeModel(GL_FLAT) , то картинка выходит нормальной (первая полоска на скриншоте) Но когда включаю...

Вращение в 3D без смещения осей
Мне надо сделать куб который можно вращать мышью относительно его положения, но во flash как я понял заданием параметров rotationX...

Увеличение <TD> без смещения соседей
Приветствую! Возник тут вопрос... Как при наведении на ячейку таблицы увеличить её в 2 раза, без смещения соседних ячеек? Попробовал...

Выравнивание но без смещения за левый край
пытаюсь центрировать все элементы на экране так &lt;div style=' width:1000px;...

Рисовать без смещения по Canvas с включенным Strech
Strech:=True; Если Размер увеличивать и рисовать, то будет рисовать со смещением, рисую строчками: image1.Canvas.Pixels:=Tempcolor; ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru