Render.ru

как вычислить координату мел скриптом?

люся зюзина

Активный участник
Рейтинг
13
#1
Как вычислить координату в мировом пространстве? Допустим, координату пивота куба. И как присвоить координату?
Никак не найду. getAttr и setAttr translate возвращают координату перемещения относительно начала координат. А если объект был перемещен? а потом ему сделана Freeze Transformation?
 

ARTEM TSARAEV

Активный участник
Рейтинг
13
#2
вот стрелка красная мировую показывает, а фризом ты сбиваешь только локальную координату, мировая у тебя остаётся та же
 

Вложения

люся зюзина

Активный участник
Рейтинг
13
#5
Вот так еще попробовала:
float $coor[]=`xform -q -a -translation pCube1`;
// Result: 0 0 0 //
Опять возвратились ноли, хотя вроде как флаг -а должен абсолютную координату в мировом пространстве возвратить...?
 

люся зюзина

Активный участник
Рейтинг
13
#7
Собственно, дело не во флаге было: -а работает также как и -ws.
-rotatePivot возвращает мировую координату, а -translation почему-то замороженную. Странно...
 

dreamer3d

Активный участник
Рейтинг
5
#8
вот стрелка красная мировую показывает, а фризом ты сбиваешь только локальную координату, мировая у тебя остаётся та же
соответственно назначить

Код:
xform -ws -rotatePivot [i]float float float[/i]
"-a" nonQueryable flag
 

dreamer3d

Активный участник
Рейтинг
5
#11
не все так просто оказалось.
Цитирую:xform -ws -rotatePivot float float float
При этом сам объект остается на месте, а в указанную координату отправляется только его пивот.
так что пока проблема не решена.
А эта команда как раз и перемещает пивот. Чтобы преместитъ объект, воспользуйтесь командой
Код:
move -ws
 

люся зюзина

Активный участник
Рейтинг
13
#12
Нет, так опять не получилось. Командой move объект опять перемещается не относительно начала координат, а относительно его собственного нуля после его заморозки.
Но, все же, так или иначе, я достигла своей цели :)
move -rotatePivotRelative 0 0 0;
FreezeTransformations;
move -ws

Вот этот -rotatePivotRelative оказывается перемещает пивот вместе с объектом в начало координат.
 
Сверху