Render.ru

Ускоряя Maya, послесловие. Скрипты для ускорения работы в Maya.

Рейтинг
137
Верю. :) Просто, мне кается, иначе там никак не сделаешь. А этот вариант подходит. Пусть и левые камеры появляются, но ничего, карман не тянут.

P.S. damat, аврал на работе все еще продолjается? )
 

Лекс Дарлог (DRL)

Активный участник
Рейтинг
14
скрипт, который переносит всё меню делайта на 2 маркин-менюхи: левую и среднюю кнопки мыши.
Немного слоупочу... Но лучше поздно, чем никогда. Забыл в том сообщении скрины прикрепить. Сорри за оффтоп: тут старые посты править низзя.

 
Рейтинг
137
О, еще по "Views" (задолбал уjе наверное:) выяснилось кое-что неудобное: если поместить камеру сверху и наать хоткей со скриптом, будет top, если сбоку — side, но если снизу, то тоjе top, и front-камера едина со сторон front и back. Т.е. если у меня image plane'ы и если я захочу посмотреть на фронтовую картинку, у меня будет маячить перед глазами и задняя тоjе (это если я активирую скрипт позади ненуjного в данный момент плейна) И ведь никак не скроешь ненуный в данный момент плейн скриптом типа:
Код:
if ((`modelPanel -q -cam modelPanel3`) == "rear")
{
	modelPanel -e -cam front modelPanel3;
	setAttr front.visibility 1;
	setAttr rear.visibility 0;
}
else
{
	modelPanel -e -cam front modelPanel3;
	setAttr front.visibility 0;
	setAttr rear.visibility 1;
}
Эт я у триДебазовцев подсмотрел.

Вот как бы прирос уjе к сприпту, а тут такие лоjки дегтя, как только по чертеjам пришлось поработать. :-(

Будут еще новости, напишу.

P.S. А вообще по сравнению с modo, к примеру, система с чертеjами в майе просто говеная. Но модо мне в целом не по душе пришелся один черт. Эт так, маленький оффтопик. :)
 
Fomen, если ты не заметил, то в Майя 3 орто камеры на 6 орто видов, поэтому получается именно так. Перещелкивания image plane можно впилить на самом деле: я же знаю, что перевожу камеру, к примеру, в back, и в этот момент можно прятать ненужный image plane.

Но ты мне лучше скажи, чем же image plane лучше полигональных плашек? Всегда пользовалься именно ими, и сильно радовался тому, что их можно двигать и менять им прозрачность на лету.
 
Рейтинг
137
Ну потому что как мне быть, если я хочу сделать моделируемый объект только wireframe, при этом оставив те jе полигональные плоскости зашейденными? Только бы мне сейчас не открылась истина, после которой я почувствую себя идиотом... :)
Кстати, вручную прятать ненуjный плейн кадый раз очень муторно.

P.S. И как jе с "Predefinded Bookmarks"? Там есть остальные камеры: Bottom, Left Side, right Side и т.п.
 
про истину: надо в майке посмотреть, может быть через оверрайд придумать можно что-нить =) давно не занимался всем этим, надо покрутить сначала
про вручную и муторно: я как раз про невручную говорю, а про то, чтобы вписать в скрипт. но очевидно это все накрывает букмарки, т.е. все через только через один скрипт
 
Рейтинг
137
Да наверное и не стоит. Вот вроде бы нелохая вещь: http://www.creativecrash.com/maya/downloads/scripts-plugins/modeling/misc/c/final3_modellingsuite--2
Потестирую сегодня-завтра. С имадj плейнами мороки неоправданной много, походу.
 
ура, таки написали =) осталось иконки и пресеты докрутить, и будет все как надо, хотя судя по всему автор отошел от проекта в года 3 назад

если кто попробует под 2011+, отпишитесь, пожалуйста. Меню, надо полагать, обычные, все должно работать
 
Рейтинг
137
Потестил недолго пока, но все время какие-то ошибочки вылазят в скрипт едиторе... Maya 2013 x64. Над нюрбсами вообще работать отказывается. Походу, надо переписывать. Эх...
P.S. И нет возможности редактирования меню для нюрбсов и сабдивов. Я писал автору скрипта, но он так и не ответил.
 
Ошибки выдает скорее всего из-за Maya 2013.
Достаточно давно здесь давалась ссылка на еще одно интерактивное меню (срабатывающие по RMB), так там была та же проблема. В 2011 все работало нормально, а в 2012 постоянно высвечивались ошибки и частично не отображались (или не срабатывали) команды в появляющихся маркинг менюхах. Тот скрипт так же был рассчитан на 2008-09 Майю.
MEL видимо по чуть чуть, но меняется.

А теперь вопрос на другую тему
Хочу в арсенал криптов для полигонального моделирования добавить нечто похожее на Максовский Loop Tools (Curve) (Рис)
Не так давно кто-то из пользователей давал ссылку на скрипт по большому счету, представляющий из себя аналог Create deformers > Wire Tool.
Только в нем все проще - при выделенной полоске ребер и запуска скрипта, создается уже привязанная Curve. + Интерактивный доступ к Rebuild Curve
Проблема в том, что я не помню темы и не могу найти это сообщение.

В общем, если кто-то пользуется чем-то подобным (Рис), или знает где его скачать, прошу дать ссылку.
 

Вложения

Лекс Дарлог (DRL)

Активный участник
Рейтинг
14
Всем привет.
Только что открыл для себя команду renderThumbnailUpdate. Безумно полезная вещь в работе со всякими рендерменами.
Просто у них, если выделить ноду шейдера, то в атрибут эдиторе отображается не примерное изображение (как в дефолтных майских шейдерах), а самый что ни на есть точный рендер.
При настройке сложных шейдеров (со всякими отражениями/преломлениями и индиректами) жутко выбешивает ситуация, когда поменял один параметр в материале - и всё, Майя встала. Считает это долбаное превью.

Сразу же добавил 3 операции в свою маркин-менюху для 3делайта:
отключить превью на материалах в АЕ,
включить превью,
тоггл превью.
 

Александр Иванов 97779

Активный участник
Рейтинг
5
Ну потому что как мне быть, если я хочу сделать моделируемый объект только wireframe, при этом оставив те jе полигональные плоскости зашейденными? Только бы мне сейчас не открылась истина, после которой я почувствую себя идиотом... :)
Привет! Есть для таких случаев скрипт позволяющий включать xRay ТОЛЬКО для выделенных объектов:
{
string $select[] = `ls -sl`;
int $sizes = `size$select`;
if ($sizes >= 1)
{
string $mySel[] = `ls -sl -dag -s`;
for ($s in $mySel)
{
int $xState[] = `displaySurface -q -xRay $s`;
displaySurface -xRay ( !$xState[0] ) $s;
}
}
if ($sizes < 1)
{
string $all[] = `select -ado`;
displaySurface -xRay 0;
select -cl;
$currentPanel = `getPanel -wf`;
$mode = `modelEditor -q -xray $currentPanel`;
modelEditor -edit -xray (!$mode) $currentPanel;
}
}


А для подстановки реф картинок я использую скрипт из пака Денисыча - в связке получается очень удобно. никакие имэйдж плейны нафиг не нужны. =)
 
Рейтинг
137
Спасибо.
Тогда уж внесу и свое решение, которое теперь использую(может кому пригодится). Нашел скрипт для установки рефов: http://www.creativecrash.com/maya/downloads/scripts-plugins/modeling/misc/c/final3_modellingsuite--2 Там еще с ним пару скриптов для mirror'a и назначения ламберта с возможностью крутить прозрачность отдельной рулькой, но я пользуюсь им только для рефов. Работает на 2013 отлично. А насчет xRay для только выделенных объектов стал пользовать CPS(Connecnt Poly Shape). Там есть такая функция. Повесил на хоткей и счастлив. Кстати, вещь полезная для симметричного моделинга. Есть свои плюшки. Советую, если интересно.
 
Всем привет,

Спасибо, что не оставляете тему и продолжаете постить сюда полезные скрипты.

Наконец могу сказать, чем был занят по выходным: готовил доклад на Эвент 2012, который будет в эти выходные. Посмотреть информацию о докладе можно тут, в программе выступление стоит в 13:30 в воскресенье. Скорее всего, на Эвенте буду оба дня, если кто-то хочет пообщаться лично, буду рад
 

Лексей

Активный участник
Рейтинг
8
Моя версия ИксРэя, который работает и на выделенных компонентах, что очень удобно. В идеале он должен работать и на объектах, на которых просто включен режим компонентов, т.е., даже без их предварительного выделения.

Код:
string $sel[]=`ls -sl`;
		string $objs[];
		string $vtx[],$face[],$edge[];
		string $vtxObj[],$faceObj[],$edgeObj[];
		int $i;
		for($s in $sel){
			if(`gmatch $s "*.*"`){
				string $obj=`match "^[^\.]*" $s`;
				$objs[$i++]=$obj;
				if(`gmatch $s "*.vtx*"`){
					$vtxObj[size($vtxObj)]=$obj;
				}
				else if (`gmatch $s "*.e*"`){
					$edgeObj[size($edgeObj)]=$obj;
				}
				else if (`gmatch $s "*.f*"`){
					$faceObj[size($faceObj)]=$obj;
				}
			}
			else
				$objs[$i++]=$s;
		}
		$objs=stringArrayRemoveDuplicates($objs);
		for($vo in $vtxObj){
			doMenuComponentSelection($vo, "vertex");
		}
		for($fo in $faceObj){
			doMenuComponentSelection($fo, "facet");
		}
		for($eo in $edgeObj){
			doMenuComponentSelection($eo, "edge");
		}
    for($o in $objs){
        int $status[]=`displaySurface -q -x $o`;
        displaySurface -x (!$status[0]) $o;
    }
 
Сверху