Render.ru
Поддержать

HELP ME! Спиннеры и длина костей

Александр3д

Пользователь сайта
Рейтинг
2
Друзья! подскажите как привязать длину кости к спиннеру, чтобы она менялась по вводимым значениям(см) в окне спиннера.

Вложения

Владислав Бодюл

Активный участник
Рейтинг
15
Попробуй вставить этот код сразу под 19 строкой, чтобы внутри скобок было.

on spn8 changed val do
(
    $Bone001.length = val
)

Александр3д

Пользователь сайта
Рейтинг
2
Владислав БодюлПопробуй вставить этот код сразу под 19 строкой, чтобы внутри скобок было.

on spn8 changed val do
(
    $Bone001.length = val
)

Спасибо, работает!

Александр3д

Пользователь сайта
Рейтинг
2
Ещё вопрос проблема возникла: теперь когда кости увеличиваются и уменьшаются, привязанные к кости полигоны модели не двигаются за костями. Как их связать, чтобы они работали по изменениям скрипта?

igorznag

Мастер
Рейтинг
103
Попробуйте такой вариант:
on spn8 entered do
(
    bn=$Bone001
    if bn.children.count>0 do
    (
        bn.boneFreezeLength=false
        v=normalize(bn.children[1].pos-bn.pos)
        v*=spn8.value; v+=bn.pos
        for c in bn.children do c.pos=v
        bn.boneFreezeLength=true
    )
)

Александр3д

Пользователь сайта
Рейтинг
2
Спасибо за ответ! Работает, но теперь вводимые значения в спиннере не применяются к костям, как в скрипте прописать это вместе с тем кодом, что вы написали. Чтобы вводимые значения в спиннере меняли кость?

И теперь почему кость меняется в 2 направлениях?

igorznag

Мастер
Рейтинг
103
Попробуйте такой вариант:
on spn8 changed val do
(
    if val>=0 do for c in $Bone001.children do c.pos.controller[1].value=val
)

igorznag

Мастер
Рейтинг
103
Я не знаю какие контроллеры для костей у вас стоят. Я буду долго угадывать.
Вы можете сохранить и предоставить мне сцену для 3d max 2010?
Если нет, тогда предоставьте скрин с структурой контроллеров для кости Bone002.
Попробуйте тогда такой вариант:
on spn8 changed val do
(
    if val>=0 do for c in $Bone001.children do c.pos.controller[1][1].value=val
)
3.jpg

igorznag

Мастер
Рейтинг
103
Я ничем не могу помочь.
Я думал, что вы используете обычные кости с контроллерами по умолчанию.
Вы сами создали этот скелет из костей и установили контроллеры для них?
Для чего вам нужен контроллер Position Constraint для кости Bone002?
Для чего вам нужно изменить длину кости Bone001 с помощью скрипта?
Как бы вы изменили длину кости Bone001 без использования скрипта?

41212.jpg