- Рейтинг
- 55
Скрипты,настройки и вопросы.
Добрый день!!!
Хочу разместить здесь некоторые свои скрипты и настройки Maya.
Для меня они очень удобны, возможно и вам пригодятся.От вас мне интересно услышать предложения по их модернизации,свои варианты настроек и ,возможно, спасибы
).
Так же по ходу дела будут возникать вопросы.У меня, например уже есть довольно длинный списочек.
Если можете - ответьте,если я найду ответы - выложу.
Если у вас есть вопросы - спрашивайте.Я не супер-профи(то есть я вообще пока не профи))),но постараюсь ответить.
Когда нажимаешь правой кнопкой мыши во вьюпорте,возникает маленькая маркинг менюшка:CompleteTool и SelectAll.
Вы часто ей пользуетесь?
Я - нет.
Что-бы это исправить делаем следующее:
Создаём два маркинг меню,лезем в C:\Documents and Settings\UserName(имя польз.)\My Documents\maya\8.0\prefs\markingMenus,открываем файлы с их названиями и копируем оттуда весь текст.
В папке C:\Documents and Settings\UserName(имя польз.)\My Documents\maya\scripts создаём MEL файл с именем buildObjectMenuItemsNow и вставляем в него этот текст(это просто чуть чуть изменённый майский скрипт "buildObjectMenuItemsNow"):
global proc buildObjectMenuItemsNow( string $parentName)
{
global int $gIsMarkingMenuOn;
if (`popupMenu -e -exists $parentName`) {
popupMenu -e -deleteAllItems $parentName;
if (`popupMenu -q -mm $parentName` != $gIsMarkingMenuOn) {
deleteUI {$parentName};
popupMenu -e -mm $gIsMarkingMenuOn $parentName;
}}
if (size(`ls -sl`)==0&&(`selectMode -q -o`)) {if (`popupMenu -e -exists $parentName`) {
popupMenu -e -deleteAllItems $parentName;
if (`popupMenu -q -mm $parentName` != $gIsMarkingMenuOn) {
popupMenu -e -mm $gIsMarkingMenuOn $parentName;
deleteUI {$parentName};
}}
setParent -menu $parentName;
//Сюда вставляем текст первого марк.меню(для вьюпорта)
setParent ..;
}
else
{if (`popupMenu -e -exists $parentName`) {
popupMenu -e -deleteAllItems $parentName;
if (`popupMenu -q -mm $parentName` != $gIsMarkingMenuOn) {
popupMenu -e -mm $gIsMarkingMenuOn $parentName;
deleteUI {$parentName};
}}
setParent -menu $parentName;
//А сюда текст для второго марк.меню(для тыка на обьекте)
setParent -m ..;
}
}
Удаляем абзацы начинающиеся со слов -label "ELFdefaultMenuItem" (Почему-то пишет что кнопки с настройками(квадратиками) в это меню нельзя.Кто знает почему и как это исправить - пишите).
Теперь при нажатии RMB во вьюпорте появляется удобное маркинг меню для открытия наиболее часто используемых окон(у меня),а если
ткнуть на обьекте - появится набор инструментов для моделирования(тоже у меня,Вы можете настроить что-нибудь другое)).Ура!!!
P.S.Что-бы всё работало как прежде - надо просто удалить или переименовать этот файл.
Перейдя с макса на Маю я долго скучал по хорошей возможности -"сохранению" выделения.То есть выделил вершины,подредактировал рёбра,проэкструдил полики, и вернулся к ранее выделенным вершинам.
Позавчера реализовал эту очень удобную возможность в Мае(честно говоря-это был мой первый собственноручно написанный скрипт))).
Значит так.
В хоткей эдиторе,в категории User создаём хоткеи для режимов выделения:
Name:Vert_Sel
Command:
setSelectMode components Components; selectType -smp 1 -sme 0 -smf 0 -smu 0 -pv 1 -pe 0 -pf 0 -puv 0;
global string $LastVert[];
global string $LastEdge[];
global string $LastFace[];
global string $LastObj[];
global int $LastComp;
if ($LastComp==4) $LastFace=(`ls -sl`);else
if ($LastComp==3) $LastEdge=`ls -sl`;else
if ($LastComp==2) $LastVert=`ls -sl`;else
if ($LastComp==1) $LastObj=`ls -hl`;
select -cl;
if (`size $LastVert`>0) select $LastVert;
$LastComp=2;
print $LastVert;
print $LastEdge;
print $LastComp;
Name:Edge_Sel
Command:
if ($LastComp==4) $LastFace=(`ls -sl`);else
if ($LastComp==3) $LastEdge=`ls -sl`;else
if ($LastComp==2) $LastVert=`ls -sl`;else
if ($LastComp==1) $LastObj=`ls -hl`;
select -cl;
if (`size $LastEdge`>0) select $LastEdge;
$LastComp=3;
print $LastVert;
print $LastEdge;
print $LastComp;
Name:Face_Sel
Command:
if ($LastComp==3) $LastEdge=`ls -sl`;else
if ($LastComp==2) $LastVert=`ls -sl`;else
if ($LastComp==1) $LastObj=`ls -hl`;
select -cl;
if (`size $LastFace`>0) select $LastFace;
$LastComp=4;
print $LastVert;
print $LastEdge;
print $LastComp;
Name:Obj_Sel
Command:
if ($LastComp==1) $LastObj=`ls -hl`;
select -cl;changeSelectMode -object;
if (`size $LastObj`>0) select $LastObj;
$LastComp=1;
print $LastVert;
print $LastEdge;
print $LastComp;
Вешаем их на удобные клавиши(у меня это не F8-F11,а 1,2,3,4),нажимаем Save, и всё работает(Это самый приятный момент.Знаете,как я обрадовался?)))!!!
А вот пример "липкого" хоткея (всем рекомендую сборник мастерклассов "Maya F1",скрипт оттуда):
Name:Stickey_q_press
Command:
global string $Stickey_Ctx;
$Stickey_Ctx=`currentCtx`;
global string $Stickey_Sel[];
$Stickey_Sel=`ls -sl`;
global string $Stickey_HL[];
$Stickey_HL=`ls -hl`;
setToolTo polySplitContext;
Name:Stickey_q_release
Command:
global string $Stickey_Ctx;
global string $Stickey_Sel[];
global string $Stickey_HL[];
setToolTo $Stickey_Ctx;
select $Stickey_Sel;
hilite $Stickey_HL;
if (`size $Stickey_HL`>0)
changeSelectMode -component;
Теперь выделяем обьект,жмём на "q",сплитим нашу модельку,отпускаем.Моделька разрезалась!(Обалдеть!Это тоже работает!Сразу чувствуешь себя таким умным-умным
)))
А теперь вопросы:
Где в Мае аналог максовскому Cap и Bridge для полигонов.Или как их сделать.
Способы Определения и "назначения" положения курсора.
У меня на мыши 5 кнопок,а использую только три основных.Как узнать названия для остальных двух?
И чуть-чуть не в тему(не создавать же для этого вопроса отдельный форум.А узнать ответ интересно):
Графические планшеты делают в виде чувствительной к нажатию "доски"(не знаю как она называется) и "ручки".Скажите, почему нельзя сделать просто мышь в виде ручки? И удобнее,и рисовать такой можно где угодно,и,наверное,дешевле.
Уже который день мучаюсь
)) Может пора бежать в патентное бюро и начать делать состояние на этом гениальном изобритении?
))))))
У-ф-ф! Вроде всё написал!Слава Богу!
))
Добрый день!!!
Хочу разместить здесь некоторые свои скрипты и настройки Maya.
Для меня они очень удобны, возможно и вам пригодятся.От вас мне интересно услышать предложения по их модернизации,свои варианты настроек и ,возможно, спасибы
Так же по ходу дела будут возникать вопросы.У меня, например уже есть довольно длинный списочек.
Если можете - ответьте,если я найду ответы - выложу.
Если у вас есть вопросы - спрашивайте.Я не супер-профи(то есть я вообще пока не профи))),но постараюсь ответить.
Когда нажимаешь правой кнопкой мыши во вьюпорте,возникает маленькая маркинг менюшка:CompleteTool и SelectAll.
Вы часто ей пользуетесь?
Я - нет.
Что-бы это исправить делаем следующее:
Создаём два маркинг меню,лезем в C:\Documents and Settings\UserName(имя польз.)\My Documents\maya\8.0\prefs\markingMenus,открываем файлы с их названиями и копируем оттуда весь текст.
В папке C:\Documents and Settings\UserName(имя польз.)\My Documents\maya\scripts создаём MEL файл с именем buildObjectMenuItemsNow и вставляем в него этот текст(это просто чуть чуть изменённый майский скрипт "buildObjectMenuItemsNow"):
global proc buildObjectMenuItemsNow( string $parentName)
{
global int $gIsMarkingMenuOn;
if (`popupMenu -e -exists $parentName`) {
popupMenu -e -deleteAllItems $parentName;
if (`popupMenu -q -mm $parentName` != $gIsMarkingMenuOn) {
deleteUI {$parentName};
popupMenu -e -mm $gIsMarkingMenuOn $parentName;
}}
if (size(`ls -sl`)==0&&(`selectMode -q -o`)) {if (`popupMenu -e -exists $parentName`) {
popupMenu -e -deleteAllItems $parentName;
if (`popupMenu -q -mm $parentName` != $gIsMarkingMenuOn) {
popupMenu -e -mm $gIsMarkingMenuOn $parentName;
deleteUI {$parentName};
}}
setParent -menu $parentName;
//Сюда вставляем текст первого марк.меню(для вьюпорта)
setParent ..;
}
else
{if (`popupMenu -e -exists $parentName`) {
popupMenu -e -deleteAllItems $parentName;
if (`popupMenu -q -mm $parentName` != $gIsMarkingMenuOn) {
popupMenu -e -mm $gIsMarkingMenuOn $parentName;
deleteUI {$parentName};
}}
setParent -menu $parentName;
//А сюда текст для второго марк.меню(для тыка на обьекте)
setParent -m ..;
}
}
Удаляем абзацы начинающиеся со слов -label "ELFdefaultMenuItem" (Почему-то пишет что кнопки с настройками(квадратиками) в это меню нельзя.Кто знает почему и как это исправить - пишите).
Теперь при нажатии RMB во вьюпорте появляется удобное маркинг меню для открытия наиболее часто используемых окон(у меня),а если
ткнуть на обьекте - появится набор инструментов для моделирования(тоже у меня,Вы можете настроить что-нибудь другое)).Ура!!!
P.S.Что-бы всё работало как прежде - надо просто удалить или переименовать этот файл.
Перейдя с макса на Маю я долго скучал по хорошей возможности -"сохранению" выделения.То есть выделил вершины,подредактировал рёбра,проэкструдил полики, и вернулся к ранее выделенным вершинам.
Позавчера реализовал эту очень удобную возможность в Мае(честно говоря-это был мой первый собственноручно написанный скрипт))).
Значит так.
В хоткей эдиторе,в категории User создаём хоткеи для режимов выделения:
Name:Vert_Sel
Command:
setSelectMode components Components; selectType -smp 1 -sme 0 -smf 0 -smu 0 -pv 1 -pe 0 -pf 0 -puv 0;
global string $LastVert[];
global string $LastEdge[];
global string $LastFace[];
global string $LastObj[];
global int $LastComp;
if ($LastComp==4) $LastFace=(`ls -sl`);else
if ($LastComp==3) $LastEdge=`ls -sl`;else
if ($LastComp==2) $LastVert=`ls -sl`;else
if ($LastComp==1) $LastObj=`ls -hl`;
select -cl;
if (`size $LastVert`>0) select $LastVert;
$LastComp=2;
print $LastVert;
print $LastEdge;
print $LastComp;
Name:Edge_Sel
Command:
if ($LastComp==4) $LastFace=(`ls -sl`);else
if ($LastComp==3) $LastEdge=`ls -sl`;else
if ($LastComp==2) $LastVert=`ls -sl`;else
if ($LastComp==1) $LastObj=`ls -hl`;
select -cl;
if (`size $LastEdge`>0) select $LastEdge;
$LastComp=3;
print $LastVert;
print $LastEdge;
print $LastComp;
Name:Face_Sel
Command:
if ($LastComp==3) $LastEdge=`ls -sl`;else
if ($LastComp==2) $LastVert=`ls -sl`;else
if ($LastComp==1) $LastObj=`ls -hl`;
select -cl;
if (`size $LastFace`>0) select $LastFace;
$LastComp=4;
print $LastVert;
print $LastEdge;
print $LastComp;
Name:Obj_Sel
Command:
if ($LastComp==1) $LastObj=`ls -hl`;
select -cl;changeSelectMode -object;
if (`size $LastObj`>0) select $LastObj;
$LastComp=1;
print $LastVert;
print $LastEdge;
print $LastComp;
Вешаем их на удобные клавиши(у меня это не F8-F11,а 1,2,3,4),нажимаем Save, и всё работает(Это самый приятный момент.Знаете,как я обрадовался?)))!!!
А вот пример "липкого" хоткея (всем рекомендую сборник мастерклассов "Maya F1",скрипт оттуда):
Name:Stickey_q_press
Command:
global string $Stickey_Ctx;
$Stickey_Ctx=`currentCtx`;
global string $Stickey_Sel[];
$Stickey_Sel=`ls -sl`;
global string $Stickey_HL[];
$Stickey_HL=`ls -hl`;
setToolTo polySplitContext;
Name:Stickey_q_release
Command:
global string $Stickey_Ctx;
global string $Stickey_Sel[];
global string $Stickey_HL[];
setToolTo $Stickey_Ctx;
select $Stickey_Sel;
hilite $Stickey_HL;
if (`size $Stickey_HL`>0)
changeSelectMode -component;
Теперь выделяем обьект,жмём на "q",сплитим нашу модельку,отпускаем.Моделька разрезалась!(Обалдеть!Это тоже работает!Сразу чувствуешь себя таким умным-умным
А теперь вопросы:
Где в Мае аналог максовскому Cap и Bridge для полигонов.Или как их сделать.
Способы Определения и "назначения" положения курсора.
У меня на мыши 5 кнопок,а использую только три основных.Как узнать названия для остальных двух?
И чуть-чуть не в тему(не создавать же для этого вопроса отдельный форум.А узнать ответ интересно):
Графические планшеты делают в виде чувствительной к нажатию "доски"(не знаю как она называется) и "ручки".Скажите, почему нельзя сделать просто мышь в виде ручки? И удобнее,и рисовать такой можно где угодно,и,наверное,дешевле.
Уже который день мучаюсь
У-ф-ф! Вроде всё написал!Слава Богу!