Управляющие объекты
11 ноября 2015 18:21
В 3DMax помню был такой инструмент: Можно задать зависимость одного объекта от другого, например если я вращаю сферу - бокс передвигается ну или наоборот, то есть по сути можно сделать ползунок. Есть ли такой инструмент в Блендер? что-то гугл не выдал ничего внятного
![slightly-frowning](/static/pybb/emoticons/slightly-frowning.png)
Дорогу осилит идущий
11 ноября 2015 19:00
Драйвера ![smiling]()
Записал на видео создание простейшего драйвера. Если будут вопросы, обращайтесь![smiling]()
drivers.blend
зы:
драйвера в B4W не поддерживаются напрямую, надо будет запечь анимацию: выделить нужный объект, нажать на пробел, вбить "Bake Action", нажать enter, в окошке выставить нужные кадры, потом включить вторую галку и внизу выбрать Object:
![]()
И нажать OK. создастся новый экшн, в котором будут запечены все трансформации объекта - этот экшн движок и прочтет :)
![smiling](/static/pybb/emoticons/smiling.png)
Записал на видео создание простейшего драйвера. Если будут вопросы, обращайтесь
![smiling](/static/pybb/emoticons/smiling.png)
drivers.blend
зы:
драйвера в B4W не поддерживаются напрямую, надо будет запечь анимацию: выделить нужный объект, нажать на пробел, вбить "Bake Action", нажать enter, в окошке выставить нужные кадры, потом включить вторую галку и внизу выбрать Object:
![](https://www.blend4web.com/media/uploads/880d3338-165f-4b82-84bb-c9d94553b909/baker.png)
И нажать OK. создастся новый экшн, в котором будут запечены все трансформации объекта - этот экшн движок и прочтет :)
11 ноября 2015 19:16
12 ноября 2015 12:21
12 ноября 2015 20:28
Сделал вот такую штуку. Но странное дело… Если выделить все 4 кубика и поднимать их - они поднимаются неравномерно…сначала один, потом сразу два, потом четвертый… не пойму почему так…
И можно ли шарик привязать ко всем четырем кубикам, чтобы при поднятии шарика поднимались все 4 кубика?
И можно ли шарик привязать ко всем четырем кубикам, чтобы при поднятии шарика поднимались все 4 кубика?
Дорогу осилит идущий
13 ноября 2015 01:17
Blender, даже если имеются констрейны на перемещение, например, все равно "запоминает", куда был перемещен объект. Т.е., как пример, если выставлен констрейн по иксу макс. на 1, а куб передвинут на 2 по иксу же, он будет визуально в 1, а по факту в 2, и блендер будет воспринимать его будто он в 2. Ну, тут не совсем точно, там немного специфическое поведение - поиграйтесь с этим констрейном какое-то время, там интуитивно примерно понятно станет, что да как.
Посмотрите в N-панели на положение всех управляющих кубиков: они по Z в разных положениях находятся. А из-за ограничителя визуально, опять же, выстроены по прямой. Увы, это косяк Blender'a, мне самому такое поведение не по душе. Надеюсь, что поправят.
А пока - выделите все кубы, нажмите alt+g - они скинутся в "ноль" и будут подниматься равномерно![smiling]()
По поводу шарика - я так понимаю, речь идет о маленьком, который сзади? Да, просто привяжите положения по Z всех кубиков к положению по Z шарика, используя одинаковые уравнения. Должно сработать
Посмотрите в N-панели на положение всех управляющих кубиков: они по Z в разных положениях находятся. А из-за ограничителя визуально, опять же, выстроены по прямой. Увы, это косяк Blender'a, мне самому такое поведение не по душе. Надеюсь, что поправят.
А пока - выделите все кубы, нажмите alt+g - они скинутся в "ноль" и будут подниматься равномерно
![smiling](/static/pybb/emoticons/smiling.png)
По поводу шарика - я так понимаю, речь идет о маленьком, который сзади? Да, просто привяжите положения по Z всех кубиков к положению по Z шарика, используя одинаковые уравнения. Должно сработать
![smiling](/static/pybb/emoticons/smiling.png)
13 ноября 2015 09:46
Спасибо
С перемещениями вроде понятно, но конечно еще не совсем)
alt+g как я понял, скидывает перемещение в ноль, то есть объект становится в начало координат, но из-за констрейнтов он остается на месте. Если убрать Констрейнты - он сместится в начало координат
А что делает Ctrl+A? что значит Apply никак не могу понять…. Если переместил куб и нажал Apply- пивотпойнт смещается в начало координат, а куб остается на месте… а если делаю так для кубика, который с контсрейнтом - куб улетает куда то![open-moth-tightly-closed-eyes]()
Шарик который сзади должен был поднимать все кубики сразу. и это работает, но пропадает возможность двигать каждый кубик по отдельности
![smiling](/static/pybb/emoticons/smiling.png)
alt+g как я понял, скидывает перемещение в ноль, то есть объект становится в начало координат, но из-за констрейнтов он остается на месте. Если убрать Констрейнты - он сместится в начало координат
А что делает Ctrl+A? что значит Apply никак не могу понять…. Если переместил куб и нажал Apply- пивотпойнт смещается в начало координат, а куб остается на месте… а если делаю так для кубика, который с контсрейнтом - куб улетает куда то
![open-moth-tightly-closed-eyes](/static/pybb/emoticons/open-moth-tightly-closed-eyes.png)
Шарик который сзади должен был поднимать все кубики сразу. и это работает, но пропадает возможность двигать каждый кубик по отдельности
![slightly-frowning](/static/pybb/emoticons/slightly-frowning.png)
Дорогу осилит идущий
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. Или нажать в объектном режиме вот эту кнопку -
![](https://www.blend4web.com/media/uploads/832b5be4-563a-426a-ba38-b1b3d6fe75de/button.jpg)
и сделать S -> Z -> 0. Их ориджины тогда встанут в одной плоскости по Z
![smiling](/static/pybb/emoticons/smiling.png)
Шарик который сзади должен был поднимать все кубики сразу. и это работает, но пропадает возможность двигать каждый кубик по отдельности
Увы, да, драйвер закрепляет за собой исключительное право на трансформацию указанного праметра. Можно поиграться с констрейнами Child Of или Copy translation/Copy transforms - если для вас такое поведение будет приемлемым.
Если выберете Chilf Of, то сразу после выставления этого констрейна кубики могут улететь. Надо нажать "Set inverse" - они вернутся на место :)
13 ноября 2015 11:29