Урок Анимация брызговиков, с помощью костей.
И так приступим. У нас имеется модель, в моем случае это самосвал, сделанный мною.
В модели несколько объектов:
1. Кузов
2. Рама
3. Гидравлический подъемник
Для анимации брызговиков, в первую очередь их нужно отделить от основной модели.
Выбираем модель в колонке с права Selection -> Element, выбираем наши брызговики, ту часть которая должна двигаться, в нашем случае это резинки.
Далее выбираем наши отделенные резинки, и выполняем предыдущие действия, что бы отделить каждый брызговик. Я обозвал их brR и brL.
Теперь, что бы избежать дальнейших проблем, создадим для каждого объекта cdt. Cdt - физическая модель, имя которой должно быть именно cdt.
После того как мы создали cdt, можно перейти к костям. Создаем три кости, две из них, ставим напротив каждого брызговика, а другую ставим куда нибудь по середке.
Материал предоставила группа модмейкеров FORS - fors.at.ua
Кости создаются по ходу движения, правильное расположение для экспорта как показано на скриншоте, в окне Top или Bottom создаем кости.
Мы поставили кости, кости брызговиков обозвал bonebrL и bonebrR, а третью кость обозвал bonesamos.
Теперь нужно назначить родителя всем объектам. Для этого выделяем все объекты кроме брызговиков и их cdt, так же выделяем кости bonebrL и bonebrR, жмем кнопку "select and link". Наведя мышку на наши выделенные объекты, курсор будет в виде двух квадратов, зажимаем левую кнопку мыши и как бы перетаскиваем наши объекты на кость bonesamos, она будет родителем.
Таким же способом назначаем брызговикам и их cdt, родителя, но уже это будут кости bonebrL и bonebrR, соответственно для левого брызговика - кость bonebrL, для правого - кость bonebrR.
Я чуть опускал cdt для того что бы показать расположение брызговиков, после махинаций я ставлю их на прежнее место.
В Scene Explorer вы можете посмотреть что у вас получилось, должно получится примерно так:
Экспортируем пандой. В xml, в PhysicsModel пишем два блока:
<Body
ModelFrame="bonebrR"
Mass="10"
AngularDamping="3.0"
Collisions="None"
>
<Constraint
Type="Hinge"
MinLimit="-45" MaxLimit="20"
Axis="(0.0; 0.0; 1.0)"/>
</Body>
<Body
ModelFrame="bonebrL"
Mass="10"
AngularDamping="3.0"
Collisions="None"
>
<Constraint
Type="Hinge"
MinLimit="-45" MaxLimit="20"
Axis="(0.0; 0.0; 1.0)"/>
</Body>
Если вы все сделали правильно, при запуске игры у вас будут работать брызговики как и положено.Эти параметры MinLimit="-45" MaxLimit="20" отвечают за угол наклона.
|