Render.ru

Вопросница 4. Сюда скидываются все вопросы 4

Статус
Закрыта.

Болач

Активный участник
Рейтинг
13
Как удалить 1 ключ (не всю цепочку) для канала Scale если в одном кадре есть еще и ключи Translate..Rotate.. ?
Как это сделать без помощи граф эдитора, по быстрому?
Просмотрел пару уроков по базам анимации и хелп на автодеске, не нашел
keys del.jpg
 

Andots

Знаток
Рейтинг
66
Как удалить 1 ключ (не всю цепочку) для канала Scale если в одном кадре есть еще и ключи Translate..Rotate.. ?
Как это сделать без помощи граф эдитора, по быстрому?
Просмотрел пару уроков по базам анимации и хелп на автодеске, не нашел Посмотреть вложение 230459
ПКМ - delete selected
 

Andots

Знаток
Рейтинг
66
Нет, так удаляются все ключи канала Scale.
Мне нужно так же но из одного выделенного кадра удалить.
keys.jpg

А вообще такие вещи проще скриптами под себя делать чем постоянно жамкать по менюшкам. Там скрип то строчек в 5-6 получится.

Лан, меня тоже это напрягло, написал скрипт, лови

"
import maya.cmds as mc
import maya.mel as mel

selc = mc.ls (sl=True)

tim = int(mc.currentTime( query=True ))

channelBox = mel.eval('global string $gChannelBoxName; $temp=$gChannelBoxName;')
attrs = mc.channelBox(channelBox, q=True, sma=True)

lenh = len(attrs)


for n in range (0, lenh):
ar = attrs[n]
mc.cutKey( selc , attribute = ar, option="keys", t = (tim,))
"

Все что под "for" табом подвинь, форум сдвигает. Кидай на полку и щелкай на здоровье. Удаляет в текущем кадре ключи на выделенные атрибуты

mc.channelBox вместо cmds.channelBox я косякнул в первом варианте.
 
Последнее редактирование:

4i4ikov

Знаток
Рейтинг
37
lenh = len(attrs)

for n in range (0, lenh):
ar = attrs[n]
mc.cutKey( selc , attribute = ar, option="keys", t = (tim,))"
У вас похоже уже выработался стандарт на неправильный цикл for, масса лишних телодвижений к тому же.

вместо:
Код:
attrs = cmds.channelBox(channelBox, q=True, sma=True)
lenh = len(attrs)
for n in range (0, lenh):
     ar = attrs[n]
     mc.cutKey( selc , attribute = ar, option="keys", t = (tim,))
пишите так
Код:
attrs = cmds.channelBox(channelBox, q=True, sma=True)
for ar in attrs:
    mc.cutKey( selc , attribute = ar, option="keys", t = (tim,))
или
Код:
for ar in cmds.channelBox(channelBox, q=True, sma=True):
    mc.cutKey( selc , attribute = ar, option="keys", t = (tim,))
 

Andots

Знаток
Рейтинг
66
У вас похоже уже выработался стандарт на неправильный цикл for, масса лишних телодвижений к тому же.

вместо:
Код:
attrs = cmds.channelBox(channelBox, q=True, sma=True)
lenh = len(attrs)
for n in range (0, lenh):
     ar = attrs[n]
     mc.cutKey( selc , attribute = ar, option="keys", t = (tim,))
пишите так
Код:
attrs = cmds.channelBox(channelBox, q=True, sma=True)
for ar in attrs:
    mc.cutKey( selc , attribute = ar, option="keys", t = (tim,))
или
Код:
for ar in cmds.channelBox(channelBox, q=True, sma=True):
    mc.cutKey( selc , attribute = ar, option="keys", t = (tim,))

Спасибо. Да , неверный стандарт выработался, знаю что можно проще но делаю как привычней, более наглядно при отладке (для меня) как то. Надо уходить конечно от этого , но руки сами так пишут))
 
Последнее редактирование:

4i4ikov

Знаток
Рейтинг
37
Спасибо. Да , неверный стандарт выработался, знаю что можно проще но делаю как привычней, более наглядно при отладке (для меня) как то. Надо уходить конечно от этого , но руки сами так пишут))
А как вы дебажите?
Например очевидная дебажка, стандартно по-простому
Код:
attrs = cmds.channelBox(channelBox, q=True, sma=True)
#print len(attrs)
for ar in attrs:
       #print attrs.index(ar), # если ещё и индекс надо смотреть
       #print ar
       mc.cutKey( selc , attribute = ar, option="keys", t = (tim,))
потом принты удаляются для чистоты.

Но это очень простой код, в более сложных и ответственных вещах делаю так
Код:
def foo(arg,_DEBUG_=0):
       if _DEBUG_: print '*debug foo: %s'%arg
        ...
       # и далее всё через   if _DEBUG_: ...
_DEBUG_ в подстветке синтаксиса самым бледным цветом и в коде они малозаметны.
 
Последнее редактирование:

Andots

Знаток
Рейтинг
66
А как вы дебажите?
Например очевидная дебажка, стандартно по-простому
Код:
attrs = cmds.channelBox(channelBox, q=True, sma=True)
#print len(attrs)
for ar in attrs:
       #print attrs.index(ar), # если ещё и индекс надо смотреть
       #print ar
       mc.cutKey( selc , attribute = ar, option="keys", t = (tim,))
потом принты удаляются для чистоты.

Но это очень простой код, в более сложных и ответственных вещах делаю так
Код:
def foo(arg,_DEBUG_=0):
       if _DEBUG_: print '*debug foo: %'%arg
        ...
       # и далее всё через   if _DEBUG_: ...
_DEBUG_ в подстветке синтаксиса самым бледным цветом и в коде они малозаметны.
Дебажил по первому варианту, но ваш второй вариант приглянулся больше для сложных конструкций. Я как дурак раньше парился с этим)))
 

4i4ikov

Знаток
Рейтинг
37
Дебажил по первому варианту, но ваш второй вариант приглянулся больше для сложных конструкций. Я как дурак раньше парился с этим)))
В классах тоже такая дебажка удобна:
Код:
class new_foo:
    def __init__(self,_DEBUG_ = 0):
        self._DEBUG_ = _DEBUG_
        ...    
     def bar(self): 
         ... 
         if self._DEBUG_: ...
         ...
У меня эти шаблоны как сниппеты сделаны.

А так много способов есть, есть питонские модули для дебажки, есть отдельные дебагеры написаные на питоне, IDE опять же. А так и текстового редактора хватает.
 

Болач

Активный участник
Рейтинг
13
у меня нет таких проблем. Может у тебя видеокарта встроенная? ) Или все таки где-то настройки облапал
 

Вложения

Петр15

Знаток
Рейтинг
37
Здравствуйте!
Прблема следующая: я сейчас делаю риг обычного женского персонажа, в процессе работы внезапно пропал пункт в меню Deform, а именно Muscle. Ничего такого не делал, не изменял меню, раньше пользовался - всё было на месте в этой же версии.
Буду очень благодарен за подсказку, что бы это могло быть. :)
Вот как у меня выглядит меню Deform.
 

Вложения

Andots

Знаток
Рейтинг
66
Здравствуйте!
Прблема следующая: я сейчас делаю риг обычного женского персонажа, в процессе работы внезапно пропал пункт в меню Deform, а именно Muscle. Ничего такого не делал, не изменял меню, раньше пользовался - всё было на месте в этой же версии.
Буду очень благодарен за подсказку, что бы это могло быть. :)
Вот как у меня выглядит меню Deform.
100% плагин вылетел, так частенько бывает в майке.
muscle.jpg

Подгружай обратно
 

SergiuzZZZ

Пользователь сайта
Рейтинг
2
у меня нет таких проблем. Может у тебя видеокарта встроенная? ) Или все таки где-то настройки облапал
видеокарта не встроенная nvidia geforce 9500 gt. настройки вроде по умолчанию стоят...
 

Болач

Активный участник
Рейтинг
13
Иногда при анимации Pivot, возникает проблема. Пайвот при попытке изменить ее положение, просто соскакивает со своего места. На видео понятно будет. И приложил сценку, просто попытайтесь изменить пайвот и увидите проблему.
 

Вложения

k3b3

Активный участник
Рейтинг
16
Кто знает что значат эти ошибки и как их исправить?

// Error: RuntimeError: (kInvalidParameter): No element at given index //
// Warning: Failed to call script callback //
 

Andots

Знаток
Рейтинг
66
Иногда при анимации Pivot, возникает проблема. Пайвот при попытке изменить ее положение, просто соскакивает со своего места. На видео понятно будет. И приложил сценку, просто попытайтесь изменить пайвот и увидите проблему.
Кнопка D меняет значение "Scale Pivot" но не "scale pivot translate" Отсюда появляются как бы 2 пивота, поставь pivot translate на 0
 

Andots

Знаток
Рейтинг
66
Кто знает что значат эти ошибки и как их исправить?

// Error: RuntimeError: (kInvalidParameter): No element at given index //
// Warning: Failed to call script callback //
А у меня машина когда еду, делает иногда пыф-тыр -- тыр пфф.. Часом не в курсе как исправить?

-- Ошибка скрипта , (kInvalidParameter): No element at given index

Предметно надо смотреть
 
Статус
Закрыта.
Сверху