Форум

Управляющие объекты

11 ноября 2015 18:21
В 3DMax помню был такой инструмент: Можно задать зависимость одного объекта от другого, например если я вращаю сферу - бокс передвигается ну или наоборот, то есть по сути можно сделать ползунок. Есть ли такой инструмент в Блендер? что-то гугл не выдал ничего внятного
Дорогу осилит идущий
11 ноября 2015 19:00
Драйвера

Записал на видео создание простейшего драйвера. Если будут вопросы, обращайтесь

drivers.blend

зы:
драйвера в B4W не поддерживаются напрямую, надо будет запечь анимацию: выделить нужный объект, нажать на пробел, вбить "Bake Action", нажать enter, в окошке выставить нужные кадры, потом включить вторую галку и внизу выбрать Object:



И нажать OK. создастся новый экшн, в котором будут запечены все трансформации объекта - этот экшн движок и прочтет :)
11 ноября 2015 19:16
Спасибо огромное за быстрый и такой подробный ответ!!!
Буду разбираться)
Потом в Blend4Web это будет работать? я хочу схалявить и джаваскриптом запускать анимацию одного объекта вместо допустим 5, а от него пусть другие анимируются

Пока я писал Вы уже ответили
Дорогу осилит идущий
12 ноября 2015 12:21
Не за что :)

Вообще у нас есть мысль поддержать драйвера в будущем, но она пока не особо приоритетная
12 ноября 2015 20:28
Сделал вот такую штуку. Но странное дело… Если выделить все 4 кубика и поднимать их - они поднимаются неравномерно…сначала один, потом сразу два, потом четвертый… не пойму почему так…
И можно ли шарик привязать ко всем четырем кубикам, чтобы при поднятии шарика поднимались все 4 кубика?
Дорогу осилит идущий
13 ноября 2015 01:17
Blender, даже если имеются констрейны на перемещение, например, все равно "запоминает", куда был перемещен объект. Т.е., как пример, если выставлен констрейн по иксу макс. на 1, а куб передвинут на 2 по иксу же, он будет визуально в 1, а по факту в 2, и блендер будет воспринимать его будто он в 2. Ну, тут не совсем точно, там немного специфическое поведение - поиграйтесь с этим констрейном какое-то время, там интуитивно примерно понятно станет, что да как.
Посмотрите в N-панели на положение всех управляющих кубиков: они по Z в разных положениях находятся. А из-за ограничителя визуально, опять же, выстроены по прямой. Увы, это косяк Blender'a, мне самому такое поведение не по душе. Надеюсь, что поправят.

А пока - выделите все кубы, нажмите alt+g - они скинутся в "ноль" и будут подниматься равномерно

По поводу шарика - я так понимаю, речь идет о маленьком, который сзади? Да, просто привяжите положения по Z всех кубиков к положению по Z шарика, используя одинаковые уравнения. Должно сработать
13 ноября 2015 09:46
Спасибо С перемещениями вроде понятно, но конечно еще не совсем)
alt+g как я понял, скидывает перемещение в ноль, то есть объект становится в начало координат, но из-за констрейнтов он остается на месте. Если убрать Констрейнты - он сместится в начало координат
А что делает Ctrl+A? что значит Apply никак не могу понять…. Если переместил куб и нажал Apply- пивотпойнт смещается в начало координат, а куб остается на месте… а если делаю так для кубика, который с контсрейнтом - куб улетает куда то

Шарик который сзади должен был поднимать все кубики сразу. и это работает, но пропадает возможность двигать каждый кубик по отдельности
Дорогу осилит идущий
13 ноября 2015 11:20
А что делает Ctrl+A? что значит Apply никак не могу понять

У вас есть объект и меш, который принадлежит этому объекту. В режиме редактирования можно делать с мешем что угодно - сам объект останется на месте. Т.е. его ориджин не будет затронут. А если объектом управлять в объектном режиме - будут как раз изменяться именно объектные трансформации, т.е. указанные в N-панели location, rotation и Scale. Соответственно будет меняться и меш. Т.е. меш на ориджин не влияет, а ориджин влияет на меш.

Ctrl+A перемещает ориджин объекта в центр, т.е. как бы говорит: "Меня устраивает то, где находится мой меш, но сам объект, которому принадлежит этот меш, должен быть в 0.0.0". Меш остается на месте, а ориджин прыгает в центр. А драйвера в нашем случае навешаны на объектные координаты, которые рассчитываются от ориджина - то есть, получается следующее: констрейн говорит ориджину "ты находишься в положении 1.1.0". Т.е. объект сдвинут относительно центра координат. Потом применяется location объекта - Crtl+A. Ориджин смещается относительно меша и встает в 0.0.0. Меш остается на месте. Однако констрейн тут же кидает ориджин обратно в рамки своих ограничений - а меш, естественно, сдвигается на столько же, насколько и ориджин. Поэтому кубик и улетает - потому что ориджин сначала прыгает в центр без смещения меша, а потом обратно - уже со смещением меша :)

Если убрать Констрейнты - он сместится в начало координат

Да. Ну, тогда можно вручную просто пробить в N - панели всем одинаковое Z. Или нажать в объектном режиме вот эту кнопку -

и сделать S -> Z -> 0. Их ориджины тогда встанут в одной плоскости по Z

Шарик который сзади должен был поднимать все кубики сразу. и это работает, но пропадает возможность двигать каждый кубик по отдельности

Увы, да, драйвер закрепляет за собой исключительное право на трансформацию указанного праметра. Можно поиграться с констрейнами Child Of или Copy translation/Copy transforms - если для вас такое поведение будет приемлемым.

Если выберете Chilf Of, то сразу после выставления этого констрейна кубики могут улететь. Надо нажать "Set inverse" - они вернутся на место :)
13 ноября 2015 11:29
Спасибо за развернутый ответ
Теперь это все надо переварить тут не так все очевидно
Дорогу осилит идущий
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.