Blender не работает вращение

Blender. Вращение, баг?

баг
Зафиксоровал ротацию куба на 20том фрейме,
на 30том установил ротацию по оси Y на 45градусов, зафиксировал.
На 40вом закончил ротацию по этойже оси на 90граудосв, зафиксировал.
Данные вводил через цифровой интерфейс(трансформация) во вкладке объект.
Дальше хочу повернуть по оси X, ввожу данные в интерфейс, но куб не поворачивается по этой оси., а поворачивается по другой.
Но мне нужно чтобы поворачивалось туда.
Поворачиваю в ручную, вращательным манипулятором по оси X на 135градусов.
На 50том кадре фиксирую и заканчиваю ротацию по оси X на 60том кадре на 180 градусов.

Тоесть куб долженбыл плавно повернуться 2 раза. Но с 40го по 50тый кадр он ведёт себя странно.
Люди писали ранее что это из-за того что я якобы сам его так криво повернул. И мол исправляй в dope sheet.
Но как вы видите я делал всё чётко, даже из-за критики людей, стал прописывать цифрами и градусами. Но безуспешно.
Что это за вселенский баг, изза которого он не может грамотно вращаться уже третий день?
И только попробуйте написать что Я его криво поворачиваю.
Я не хочу его редактировать в dope sheet’е или где-либо ещё. Я хочу его прописать, повернуть и тд и тп с первого раза.
Есть идеи? У меня последняя версия блендера.
Спасибо.

1)то что ты говоришь расходится с тем что ты делаешь — откуда взялся поворот по Z в ключе?
всё поворачивается так как заанимированно. Может смущает то что задаешь локальные трансформации, соответственно при повороте объекта по одной оси, другие меняют направление? Alt+Пробел -> ‘Local’ — будет показывать направление осей в локальном пространстве
2) С каких пор 180 градусов — 2 оборота?

Читайте также:  Томагавк 9010 не работает дистанционный запуск двигателя

1. Где я чтото говорил про Z?
2. Где я говорит про оборот?

Я понимаю что вам кажется что всё нормально. Но это не нормально. Куб должен ровно по осям поворачиваться а в промежутке 40-50, он какбы идёт по оси но ещё и по какойто странной дуге.

Gerbary
> Дальше хочу повернуть по оси X, ввожу данные в интерфейс, но куб не поворачивается по этой оси., а поворачивается по другой.
Передавай привет углам эйлера.
Поворот по одной оси меняет систему отсчета для поворотов по другим осям, поэтому если нужен линейный поворот во вращающейся системе отсчета — кривые для Y/Z составляющих не имеют права быть прямыми. Нельзя линейно интерполировать составляющие поворота, заданного углами эйлера.

Выбирай для объекта другой режим вращения — «Quaternion (WXYZ)». Секция Transform в панельке Object. И вставляй ключи анимации заново, уже в этом режиме.
Для кватернионов определена интерполяция по сфере. Поворот происходит по кратчайшей дуге.

Gerbary
> 1. Где я чтото говорил про Z?
ты про него не говорил, а он есть
Gerbary
> 2. Где я говорит про оборот?
хз приглючило

Просто вращайте хоткеями различая глобальное и локальное пространство — и прибудет с Вами сила.

DanielSky
С эйлером не поможет из-за покомпонентной интерполяции между ключами.

RPGman
> С эйлером не поможет из-за покомпонентной интерполяции между ключами.
Почему же у меня никогда не возникало таких проблем?

с эйлером проблемы постоянные и заметные (в скриптах особно, аниматоры то обычно выкручиваются расставлением кучи ключей) но в данном случае дело не в нём) — файлег глянте

Источник

Некорректное вращение вокруг разных осей

Главная › Форумы › Анимация и ригинг › Некорректное вращение вокруг разных осей

  • В этой теме 15 ответов, 2 участника, последнее обновление 6 лет, 6 месяцев назад сделано serge99 .

Писал об этом Артёму, теперь спрашиваю здесь. Проблема в том, что невозможно повернуть объект вокруг одной оси, а затем вокруг другой: при добавлении второго констрайнта child of кубик съезжает, set inverse не помогает, попытка анимировать influence тоже. Констрайнт pivot также не помогает. Артём ответил, что child of решает все проблемы, попробуем его.

Стартуем вер. 2.73а и видим любимый кубик. Ставим 3Д курсор в его вершину с координатами 1,1,1 и добавляем empty/plain axes. Даём этому empty ключ на вращение: i r. Выделяем кубик, щёлкаем справа по иконке с цепью и по add object constraint, выбираем child of, в target ставим empty. Будем вращать вокруг x, поэтому оставим флажки у локейшена y z, а у поворота x. Щёлкаем по set inverse, и кубик прыгает на своё место. Выбираем пустышку, ставим на таймлайне курсор в 20-й кадр и задаём пустышке r x 90 enter. Ставим ей ключ i r. Наблюдаем анимацию вращения кубика вокруг пустышки.

Ставим 3д курсор в ближайшую верхнюю вершину кубика с координатами 1,-1,3 и добавляем туда аналогичную пустышку, сразу ставим в 20-м кадре ей ключ на вращение i r. Выделяем кубик, щёлкаем по add object constraint и выбираем child of, задаём empty001. Будем вращать вокруг этой пустышки куб по оси y. Оставляем у location флажки у x и z, у rotation флажок у y. Щёлкаем по set inverse, но кубик взлетает кверху. Если influence поставить в 0, то кубик вёрнётся куда надо. Может поставить ключ на influence? Щёлкаем по нему правой кнопкой и ставим ключ. Ставим курсор в 40-й кадр и вращаем empty001 вокруг y на 90, ставим ключ на вращение, ставим influence в 1 и ставим на это ключ. 2-й поворот некорректный из-за анимации influence, если influence не трогать, то при добавлении 2-й пустышки кубик смещается, если поиграть с influence 1-й пустышки (скажем, в 20-м кадре поставить ключ на influence == 1, а в 21-м кадре на influence == 0), то тоже выходит ерунда. В общем, после 1-го поворота невозможно отвязатьяс от 1-й пустышки, чтобы она не влияла на 2-й поворот, а если отвязаться, то 1-й поворот становится неправильным. Попытка закрывать/открывать глаз (enable/disable constraint) и ставить на это ключ тоже не даёт решения. Что я делаю не так?

Казалось бы, сделай возможность анимировать положение origin, ставь его, куда хочешь, и вращай вокруг него, но нет. А если во время анимации объект 20 раз вращается вокруг разных осей, тогда что, создавать 20 пустышек и настраивать их?

1) Influence можно анимировать (I)
2)

А если во время анимации объект 20 раз вращается вокруг разных осей, тогда что, создавать 20 пустышек и настраивать их?

Да. Это гораздо удобнее, чем 20 раз менять центр объекта.

Старайтесь избегать конфликтов между ограничителями. Если первые 20 кадров куб должен крутиться по оси X, то ограничитель, который отвечает за Y не должен никак влиять на куб до 21-го кадра. Их включение/отключение также можно анимировать (I).

В Blender много чего можно анимировать 🙂

Проблема в том, что, когда вращение с пом. child of или pivot заканчивается в 20-м кадре и пустышке в нём ставится ключ, надо отвязать кубик от этой пустышки. Если в 20м кадре пустышке поставить ключ на открытом глазе или infl. == 1, а в 21-м кадре закрыть глаз или обнулить infl., то кубик СМЕЩАЕТСЯ (и вращается) на своё первоначальное место, а надо, чтобы он оставался в том же положении, что и в 20-м кадре. Бесполезно ставить ключи кубику и замыкать его положение и положение пустышки на панели n — всё равно куб смещается.

Опа, только что, получилось (3 дня убил на метод тыка и читал по этому вопросу на разных языках, что можно сделать child of и анимировать, что хочешь). Надо создать пустышку без всяких констрайнтов и в панельке под 3Д видом выбрать pivot point/active element, тогда можно вращать кубик при выделенной пустышке и ставить ключи кубу и пустышке. А в следующем после поворота кадре пустышку можно переместить и опять вращать вокруг неё. Таким образом, не надо плодить 20 пустышек на 20 вращений. А с пом. магнита можно снапить пустышку по вертексам кубика.

Немного перепутал: надо создать пустышку без всяких констрайнтов и в панельке под 3Д видом выбрать pivot point/active element, тогда можно вращать ПУСТЫШКУ при выделенном КУБИКЕ, и кубик будет вращаться вокруг неё, и ставить ключи кубу и пустышке. А в следующем после поворота кадре пустышку можно переместить и опять вращать вокруг неё. Таким образом, не надо плодить 20 пустышек на 20 вращений. А с пом. магнита можно снапить пустышку по вертексам кубика.

Нет, отбой. Это вращение происходит правильно, пока вращаешь пустышку (хотя, непонятно, почему надо вращать пустышку, а не кубик?), а когда смотришь анимацию этого поворота, то кубик вращается не совсем вокруг пустышки, а как-то по-дурацки, как будто influence меньше единицы. Я с этим уже встречался в др. случаях. В общем, кругом ошибки и маразм…

Я не совсем уверен, поэтому уточню 🙂
Вы решили свою проблему или нет?

Так и не решил (если не считать того, что можно делать новый файл проекта на каждый поворот :-). Очень хотелось бы узнать с примером, где и на что щёлкать, чтобы по правилам повернуть любимый кубик сначала вокруг одного его ребра, а потом вокруг другого. Зачем тут городить child of, если есть pivot? Как сделать, чтобы кубик не возвращался на прежнее место при закрытии глаза на этих констрайнтах не взирая на поставленный ключи? И почему кубик вращался неправильно в последнем описанном случае? Это ошибка, или такая загадочная фича?

Из всех предложенных здесь вариантов, первый самый простой:

(в новой вкладке гифка будет немного больше)

Не нужно анимировать Influence. Просто крутишь пустышки по своим осям. Чтобы куб не прижимался к пустышкам, необходимо нажать Set Inverse на каждом из ограничителей.

Для каждой пустышки создал по 4 кадра с углом поворота 90 градусов. Сразу на 360 крутить не надо 🙂 Все будет стоять на месте.

Я же УРЛ с этой картинкой давал в письме. 🙂 У меня применительно к кубику пока что-то так не получилось, и set inverse не помог, попозже ещё попробую.

Мне на др. форуме показали пример без констрайнтов: надо сделать одну пустышку и в окне аутлайнера подчинить ей кубик. Вращаем пустышку и с ней кубик. Потом сделать 2-ю пустышку, сделать её сыном 1-й пустышки и отцом кубика. С 20-го кадра вращаем 2-ю пустышку и с ней кубик. В начале и конце поворотов ставим ключ r на соотв. пустышку. Тогда повороты получаются правильно, но много мороки с выбором координат для последующих пустышек: надо на 1-м кадре посмотреть, где было ребро кубика, вокруг которого будем вращать с 20-го кадра, и поставить пустышку на это ребро. А если мы 2-й поворот хотим сделать вокруг фиксированной точки в пространстве, тогда как быть? После 20 поворотов вокруг разных осей аниматор начнёт рвать на себе волосы и гоняться за творцами Блендера с топором. 🙂

И остаётся непонятным, почему не работает pivot point/active element? Казалось бы, это и должен быть простейший вариант для таких поворотов.

Я сам начал делать так, как посоветовали Вам на форуме — ничего не вышло. Менять связи между объектами — это геморой. То, что я реализовал на гифке делается за 2 минуты.

P.S. Я с Вашего письма URL и взял 🙂
Смотрите сами, но проблему оно решает, а проще способа я не знаю.

Вот пример поворотов просто через пустышки и иерархию:
iqfun.ru/r1.zip
Всевозможные повороты работают, можно во время поворота перемещать пустышку, и куб за ней последует. Но муторно ставить новую пустышку. И если в аутлайнере надо переместить один объект на другой и они оба одновременно не видны в окне, то непонятно, как подтянуть один объект к другому: окно автоматически не прокручивается, как это делается в нормальных программах…

Я опять попробовал делать 2 поворота через child of, если оба вокруг оси Х, то это работает, а если 2-й поворот делать вокруг оси Y, то при добавлении 2-й пустышки кубик куда-то скачет, а set inverse и меняние флажков у осей поворотов и перемещений не помогают вернуть его на место. Покажите такой же, как у меня, пример через child of: сначала вращение x -90, а потом y -90. Не пойму, где я что жму не так.

И ещё я заметил проблему: к одному объекту делались пустышки для поворотов, потом объект переместили и стали перемещать его вместе с другим объектом, выделив оба. И на анимации вначале один объект обгоняет другой, хотя, я ускорения и замедления в графредакторе не трогал. Это что за фишка?

Вот ещё интересные фишки: запускаем Блендер, щёлкаем, чтобы убрать заставку, и нажимает v. Программа мгновенно завершается. А запоминать проект кто будет?? То же самое, если нажать ctrl-tab. Это я прсто пробовал нажимать клавиши. Уже боишься что-то нажать: а вдруг Блендер отформатирует диск C:? 🙂

И ещё: если на каком-то кадре анимации объект надо передвинуть, то как потом вставить это передвижение во все последующие ключи? Можно ли на таймлайне удалить все ключи левее/правее курсора, или для этого надо лезть в дропшит и выделять все эти ключи?

И ещё забыл спросить: если надо на каком-то кадре соединить объекты по ctrl-j, то они соединяются с самого начала анимации и она портится. Разве нельзя это соединение/разъединение анимировать?

Увидел на вкладке свойств объекта (в линейке меню, где материалы) relations/parent. Наверно, там удобнее можно делать иерархию, которую я делал в аутлайнере. Жаль, связи не анимируются.

Я сейчас ещё раз попробовал констрайнт child of, вот такая схема работает: делаем empty и empty001. Делаем empty001 отцом куба и сыном empty. Тогда можно сделать эти 2 поворота: сначала вращаем empty вместе c empty001 и кубом вокруг одной оси, затем вращаем empty001 с кубом вокруг другой оси. А то, что было написано на тех страницах (сделать куб сыном нескольких пустышек через констрайнты и вращать, как хочешь) не работает, здесь надо делать иерархию.

На каждый поворот вокруг другой оси надо громоздить эту иерархию: 20 поворотов — иерархия из 20-ти пустышек с кубом! В моём примере r1.blend, где просто создаются предки, это делается менее муторно, чем через child of.

Источник

Приёмы работы в Blender. Часть 1

Вопросы ставившие меня в тупик когда я начинал осваивать Blender.

Перенос центра трансформации

Нужно, чтобы дверь поворачивалась вокруг петель, а не вокруг центра двери. Петли условно сейчас находятся на ребре. Переносим 3D курсор точно на центр ребра: Shift+S (Snap)> Cursor to Selected. Потом даём команду перенести центр трансформации в 3D курсор.

Не пропорциональные результаты скруглений и модификаторов

Нужно скруглить рёбра крышки стола. В режиме редактирования объекта (кнопка Tab) выбираем сразу все необходимые рёбра и давим Ctrl+B (Bevel). Проблема — скругление происходит не одинаково на всех гранях:

Так работает скругление потому, что размер объекта в процентах не равен 100%:

Сейчас с точки зрения блендера крышка стола — это растянутый куб, и все деформации рассчитываются тоже растянутыми. В этом есть смысл. Объекты могут менять размеры не пропорционально во время анимации, и все модификаторы должны так же менять размеры. Решение: нужно сказать блендеру, что текущие размеры — это и есть 100%. В обычном режиме давим Ctrl+A (Apply). Выбираем здесь Scale:

Ctrl+B (Bevel), должно получиться так:

Это также влияет на результаты модификаторов. Лично я уже рефлекторно нажимаю Ctrl+A (Apply) → Scale.

Сброс координат положения, вращения, размера

Вы создали объект, а он создался далеко, там где был 3D курсор, и его не видно и не понятно где он.

  • Alt+G — сброс положения
  • Alt+R — сброс вращения
  • Alt+S — сброс размера

Давим Alt+G, и объект прыгает в начало координат. После мы давим «. » на цифровой клавиатуре, чтобы приблизиться к нему.

Ходовые кнопки

Помните: важно, над каким окном находится указатель мыши. Не торопитесь.

  • G (Grab) — движение
  • R (Rotate) — вращение (второе нажатие — второй режим вращения)
  • S (Scale) — размер
  • Кнопки X, Y, Z ограничивает манипуляцию только по одной оси
  • Shift+X, Shift+Y, Shift+Z исключают из манипуляций выбранную ось
  • « / » (View Local) (цифровая клавиатура) — режим, когда пропадают все объекты кроме выделенного
  • «. » (View Selected) (цифровая клавиатура) — приблизиться к выбранному
  • Home (View all) – зум, что бы всё влезло в экран
  • С (Circle Select) — выбор окружностью
  • B (Border Select) — выбор рамкой
  • F (Face) (режим Tab) — создать полигон на основе точек, или объединить уже выбранные полигоны в один
  • K (Knife) (режим Tab) — разрезать полигон
  • J (Join) — объединить объекты
  • P (seParate) (режим Tab) — разделить объект
  • Ctrl+R (Loop cut and slide) (режим Tab) — разрезание цепочки квадратных полигонов вдоль
  • Del или X > Dissolve edges / faces (режим Tab) — удаление разрезания цепочки квадратных полигонов вдоль
  • E (Extrude) (режим Tab) — выдавливание
  • Ctrl+B (Bevel) — фаска или скругление
  • W (Specials) (режим Tab) — полезное меню с пунктами которых нигде больше нет. Мне часто нужно «Bridge edge loops» – мост между двумя цепочками граней.
  • Ctrl+«+» и Ctrl+«-» (режим Tab) — прибавить в выбор соседние с уже выбранными полигоны или снять выбор с крайних полигонов
  • Shift-F (Fly) — режим полёта вида, управление как в игре, W, S, A, D, E, Q

Как выровнять грань?

Конкретно речь идёт о подобной операции:

Нужно уменьшить размер группы точек до нуля по какой-либо оси. Команды можно вводить, последовательно нажимая кнопки. В данном случае давим последовательно S, Z, 0 (ноль) В левом нижнем углу рабочего 3D окна будет вот такая надпись:

А в самом окне будет так:

«Вперёд» — это ось Y

Старайтесь фронтальное направление предмета делать по глобальной и локальной оси Y. В некоторых модификаторах и игровом движке это направление принято за направление «вперёд» и не везде его можно изменить на другую ось.

Модификаторы Subdivision Surface и Multiresolution – в чём разница?

Subdivision Surface — это сглаженные поверхности. Multiresolution — это сглаженные поверхности с возможностью скульптинга поверх. С помощью Subdivision Surface удобно делать основную форму дивана. Потом поменять его на Multiresolution и кисточкой вылепить складки ткани.

Линкованые обьекты

Интерьер. Не надо делать все предметы в одном файле. Не удобно. Создавайте утюг отдельным файлом, стул другим файлом, комнату в третьем файле — главном.

  • Утюг нужно загнать в группу Ctrl+G (Create New Group)
  • Дать имя группе — «Утюг»
  • Сохранить файл «Утюг»
  • Открыть файл «Комната»
  • Дать команду «File → Link»
  • Найти файл «Утюг»
  • Зайти в папку «Group» и выбрать группу «Утюг»

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

Источник

Оцените статью