Render.ru

использование bvh(mocap) для анимации

Vad Иванов

Активный участник
Рейтинг
11
#1
Ребята, кто- нибудь пользовался плагом RealMoca? Подгружал в него bvh- файл(mocap), установил соответствие костей RS с bvh (тут все точно). У скелета конечности выворачиваются, проблемы с направлением перемещения всего скелета. Файл bvh- проверенный, с ним все в порядке. В его содержимом все повороты не более +(-40)грд. Может структура скелета должна быть другой, нежели в RealMoca? Или навесить FBX на скелет, но его (FBX) в MBuilder готовить нужно. У кого получилось навесить мокап в RS?
 

__yra

Активный участник
Рейтинг
10
#2
Один раз посмотрел и оставил.
Фины обещали наконец FBX доделать, только на это и надеюсь. Надоело руками анимировать :)
 

Vad Иванов

Активный участник
Рейтинг
11
#3
Да уж. Если бы можно было навесить Fbx как в Майке- было бы счастье. Еще проблема: в RealMoca, если промасштабировать кости, то анимация ломается(в разные стороны убегают кости). И до и после подгрузки bvh. Пробовал без масштабирования, пока все работало, из хореографа сохранять анимацию по каждой кости. Затем создал под персонажа скелет, промасштабировал кости, создал по ключу на кость, и подгрузил сохраненную анимацию на каждую кость в хореографе . Теоретически, все значения углов поворотов костей- приращения. Вроде получилось- что- то двигается. выворачиваются стопы. С ними разберусь. Интересно то, что если нажать в RealMoca "Remove all keys", то ничего не выворачивается. Зато все ключи пропадают. Непонятно, как тогда анимация работает. Есть пока энтузазизм...
 

__yra

Активный участник
Рейтинг
10
#4

Vad Иванов

Активный участник
Рейтинг
11
#5
Хорошо. А пробивать мокап надо, т.к. какая- то незавершенность без него. Тем более, что его тонны- http://mocap.cs.cmu.edu/search.php?subjectnumber=%&motion=% . Жаль не воспользоваться.
 

__yra

Активный участник
Рейтинг
10
#6
Согласен на все 100. Я финам неоднократно про FBX писал, надеюсь в восьмёрке они его доделают.
 

Vad Иванов

Активный участник
Рейтинг
11
#7
Вроде нашел причину "случайного"(на 179 грд) выворачивания костей. В bvh- файле присутствуют углы поворотов более 180грд. Есть и +200, и +230. Не знаю, откуда такие значения, но в стороннем смотровике bvh, скелет ведет себя отлично. Как только значение превышает +179.99грд, RealMoca дальше ставит:-179- и на убывание, вместо +181, +190,+210... Потому кость и разворачивается. Получается, RealMoca не так переводит углы. Значит нужно дополнительно обработать bvh для перевода значения углов , понятных для RS.
 

__yra

Активный участник
Рейтинг
10
#8
Интересно, что во Flash когда используешь AS3 для поворота угол изменяется от 0 до 180, а потом перескакивает на -179 и дальше до -0,001.
 

Vad Иванов

Активный участник
Рейтинг
11
#9
Баловался как- то action script3, правда повороты не делал(перемещение, масштабирование). А вот угол 0- 180 с переходом на -179- увидел только в RS. Пакет во всем отличный, но в любом случае надо решать проблему с bvh. Может V8 выйдет в году эдак 2015, а ждать - нет времени...
 

__yra

Активный участник
Рейтинг
10
#10
В последнем письме фины обещали в 2011 году выдать на гора. Бетка уже месяц в тестировании. Сам я предпочёл бы FBX, он мне кажется предпочтительнее. Тем более, что покадровую и морф-анимацию он уже и сейчас импортит и экспортит.
 

Vad Иванов

Активный участник
Рейтинг
11
#11
Конечно, работа с FBX дает больше возможностей, ровно столько, сколько пакет MB. Это уже серьезный уровень. Но пока бы разобраться с bvh в RS. Если вся проблема сведется только в переходе со 180 на -179грд в bvh, то думаю, что это разрешится простым текстовым обработчиком с заменой значений углов, понятных для RS.
 

Vad Иванов

Активный участник
Рейтинг
11
#13
Надо разобраться в структуре bvh- файла. Там секции на каждую кость. В них (секциях) начальные смещения относительно начала координат(root) , заданы переменные на Rotate костей . Затем идет общий список всех значений Translate (для Root- узла) и Rotate для всех костей. Нужно только узнать, какие значения идут на Translate root-узла (HIP-кость), чтобы его не трогать, это ведь перемещение всего скелета. А остальное будет- углы поворотов костей. Нужно просто обработчику найти значения, превышающие+- 179.9грд(+-190,+- 210 и т.д.), и перевести для RS в родные -179+179. Ну это я так понимаю...Пока другого решения не вижу. Когда видишь, как двигается персонаж через Mocap, пусть даже и в другом пакете, все силы положишь, чтобы этого добиться. Оно того стоит.
 

Vad Иванов

Активный участник
Рейтинг
11
#14
Да, совсем забыл. Всех с Наступающим Новым Годом! Пусть реализуются все ваши проекты, какими бы фантастическими они не казались. Пусть каждая работа будет лучше предыдущей, а рука на устает двигать мышку!
 

__yra

Активный участник
Рейтинг
10
#15
Да, совсем забыл. Всех с Наступающим Новым Годом! Пусть реализуются все ваши проекты, какими бы фантастическими они не казались. Пусть каждая работа будет лучше предыдущей, а рука на устает двигать мышку!
Взаимно, и тебе быстрого рендера!
 

ODA

Активный участник
Рейтинг
11
#16
Может быть стоит посмотреть в этом направлении -
Interpolation

Realsoft 3D key framer supports two interpolation methods for key framing rotations.

Angle Space

Quaternion space

Angle space interpolation simply interpolates recorded rotation angles. The drawback of this method is that the two dimensional angle space has two singularity points. Any path passing near these points typically cause problems.

Quaternion interpolation solves this problem by using four dimensional angle space for interpolation. This is an advanced method and results very nice rotations. However, the problem is that the resulting animation curves are somewhat difficult to control.

Angle System

Skeletons support two kind of angle systems:

HPB - Heading Pitching Banking

HPT - Heading Pitching Twisting

HPB is the standard HPB angle system (stands for Heading, Pitching and Banking). The first two angles define polar coordinates for the bone. The third angle 'Banking' is defined so that as long as the 'x' axis of the bone lays on the ground plane, banking is said to be zero. This makes the method particularly suitable for controlling cameras. With zero banking, the x axes of the subsequent joints lay on the common plane.

HPT is a new angle system developed by Realsoft.

The difference to the standard HPB system is that the third angle is defined in such a way that it minimizes the surface tension of the attached body rather than trying to keep the bones horizontally aligned.

Think about a striped flexible plastic pipe. Bend it to any direction and the stripes along the body tell you intuitively whether there are twisting or not. If the stripes appear spiral like, there is twisting involved. If stripes along the body follow straight lines, the twisting is zero.

In other words, when there is no real twist on the body attached to the skeleton, the third angle 'Twist' is said to be zero. What could be a more natural way of defining bone angles!

This system has several advantages over the standard HPB angle system. First, you typically have to edit only two bone angles: heading and pitching. You need to touch twisting angle only when you really need to get some real skin twisting introduced. In the standard angle systems, the banking angle has nothing to do with real twisting. In animations, you have to edit the banking angle all the time to eliminate unwanted twisting from the body. Another advantage is that I.K. can now operate based on heading and pitching angles only. This makes the I.K. tool much more useful.

The third and significant advantage of the new HPT angle system is that it helps to eliminate the biggest problem with angular spaces. In any angle space, there are two so called singularity points - the poles. When you animate, say, a camera over these poles, you'll get sudden jump at the north pole. The new HPT system eliminates this problem completely. In this respect, HPT angles are almost as good as Quaternion angles, and easier to handle in the curve editor.


Все с НОВЫМ ГОДОМ!!!
 
Сверху