Render.ru

Объединение нескольких кривых в одну (для м

Рейтинг
47
#1
Ну, собственно вопрос в названии темы. Но если точнее, то, как объединять кривые в 2013 версии?

Говорят, что в 2011 была процедура multiCurve
В 2014, это можно сделать в пару кликов http://www.youtube.com/watch?v=FQsVkhxf9mM
Но в 2013-ой, оба эти способа не срабатывают.
 

Владимир Забелин

Активный участник
Рейтинг
17
#3
"говорят, в Москве кур доят.."
структура DAG - это один из краеугольных камней ядра Maya. с самой первой версии. и команда parent -shape работает одинаково во всех версиях майа.
надо поменьше слушать, что говорят, и хоть раз не полениться и указательным пальцем правой руки дотянуться до клавиши F1
 
Рейтинг
47
#4
В тот то и дело, посмотрел я в хелпе, а там ничего. Описываются флаги МEL кода, которые делают обычный parent(рис1). А нужно, что бы несколько кривых сливались (отображались в оутлайнере) в одну.

В 2011-ой, по адресу C:\Program Files\Autodesk\Maya2011\devkit\plug-ins, был файл
multiCurveNode.mel. В новых версиях его убрали.

В 2014-ой, такое можно провернуть способом показанным на видео в первом посте.

Направлять незнающих на путь истинный, это конечно дело нужное! Но благо есть люди, отвечающие по существу.
 

Вложения

Владимир Забелин

Активный участник
Рейтинг
17
#5
первый класс средней школы. урок чтения для специалистов в области компьютерной графики:
1. открываем программу Maya
2. выбираем пункт меню help>MEL command reference
3. ищем команду parent.
4.читаем глазами головы

Synopsis

parent [-absolute] [-addObject] [-noConnections] [-relative] [-removeObject] [-shape] [-world] [dagObject...] [dagObject]
5.думаем мозгом черепной коробки и обнаруживаем, что флаг -shape в описании команды все-таки присутствует.
6. героическим усилием глазной мышцы ниже по тексту ищем описание этого флага
-shape(-s)

The parent command usually only operates on transforms. Using this flags allows a shape that is specified to be directly parented under the given transform. This is used to instance a shape node. (ie. "parent -add -shape" is equivalent to the "instance" command). This flag is primarily used by the file format.
7. нечеловеческим напряжением мысли читаем примеры использования команды внизу.
8. думаем мозгом головы и пальцами рук на пишущей машинке набираем что-то типа

Код:
// процедура объединяет шэйпы выделенных объектов в один шэйп
// использование : 
// выделить нескольок объектов и выполнить процедуру      
//   
//                   Забелин В.В.  2011
//
//-----------------------------------------------------------------------------------
global proc z_parentShapes()
//----------------------------------------------------------------------------------
	{ 
	string 	$shapes[];
    	string 	$item, $shapeItem;

    	string 	$curves[]=`ls -sl -type transform`;

    	for 	($item in $curves)
    		makeIdentity -apply true -t true -r true -s true  ($item);
    	
    	int 	$size = size($curves);
    	
    	select 	-clear;
    	string $control = `group -em -name multyShape`;
    	if ($size>0)
        	for ($item in $curves) 
        		{
            		$shapes = `listRelatives -s ($item)`;
            		for ($shapeItem in $shapes)
                		parent -add -shape ($shapeItem) ($control);        
           		 delete ($item);        
            		};
	};
9. если вы сломались не дойдя до пункта 9, то лучше пока не поздно переквалифицироваться в управдомы...
 

zka

Активный участник
Рейтинг
14
#6
Владимир, все намного проще и уже показано в видео из первого поста.
Просто человек не внимателен.
 

zka

Активный участник
Рейтинг
14
#8
Я имел ввиду то, что это делается и без скрипта
1) рисуем сколько угодно кривых
2) создаем пустую группу.
3) выделяем кривые и группу (в последнюю очередь)
4) parent -s -r;
5) наслаждаемся результатом.
 

Владимир Забелин

Активный участник
Рейтинг
17
#9
zka, вы в этом смысле...
ну, в принципе, да, только нужно не забыть сначала отресетить трансформации кривых, выделять именнно шейпы кривых, а потом удалять оставшийся "мусор" в виде пустых трансформов. но Вы правы, вся эта суперсекретная информация легко извлекается из документации, было бы желание
 
Рейтинг
47
#10
Да zka, признаю, в этом был не прав!
Просто после проделывания всех этих пунктов, нужно было отключить отображение Шейпов. Тогда бы все скомбайненые кривые, отображались в виде одной.
Но как это не странно, я все равно не жалею что не разобрался сразу и задал этот вопрос! Так как получил наводку на скрипт с уже готовой кучей манипуляторов и еще дополнительными возможностями. А так бы каждый раз мудохался с созданием пустых групп, объединением, последующим удалением нод от соединенных кривых и т.д.

Владимир Забелин, в хелп я таки заглядывал. Но там же не все так просто. Нельзя написать parent и прилепить к нему –combine или –color (с последующими настройками). Нужно создавать переменные, массивы, делать циклы. В общем получается нехилый код. Так что не совсем верно писать "нужно всего лишь нажать на кнопку". Это то же что и на вопрос "как сделать пост обработку", ответить - "нужно всего лишь дважды щелкнуть по файлу Nuke.exe (а там уже дело нескольких нод)". Познания у меня в Меле на уровне начинающего любителя. И пока хотя бы плотно-поверхностно не вкурю в анимацию (и все с ней связанное), не буду их расширять. Так что вот и лажу по форумам, попрошайничая :)

Skif, шикарный скрипт, но был замечен один существенный баг (да и пару вопросов возникло). Что бы не засорять форум, опиши это все на странице скрипта.
 

Skif

Администратор 3D галереи
Команда форума
Рейтинг
584
#11
Skif, шикарный скрипт, но был замечен один существенный баг (да и пару вопросов возникло). Что бы не засорять форум, опиши это все на странице скрипта.
Хм.. я нашел только дин баг. это ели объекты выделять не во вьюпорте в аутлайнере а потом пытаться создать контрольку. это да есть. знаю надо пофиксить. если есть ещё беги - отпиши плз
 

Владимир Забелин

Активный участник
Рейтинг
17
#12
Риг связан напрямую с анимацией. Без МЕЛа в риге делать нечего. Процедурная анимация - один из видов анимации .Без МЕЛа там делать нечего. На вашем уровне нужно читать книги, чтобы получить систематизированные хоть в каком-то виде знания.
Никто не обещал, что дорога в волшебный мир компьютерной графике выложена желтым кирпичом. Чем быстрее вы расстанетесь с этой иллюзией, тем будет лучше для вас же. овладение профессией - это тяжелый и длительный труд, без нянек, без скидок на пол, возраст, образование, семейное положение, национальность, владение английским языком и прочие отвлекающие факторы. при этом не факт, что вы подходите этой профессии.
вот такие вот пироги.
 

zka

Активный участник
Рейтинг
14
#13
Александр Черняга
Главная ошибка начинающих изучать Майя состоит в бездумном копи-пасте команд Мел из уроков без попытки понять: а что на самом деле происходит? Мел не самый сложный язык для изучения. Почитайте Цыпцына, посмотрите Гномоновский MEL 101 Fundamentals и ужас уйдет как страшный сон.
Скажу по секрету: гроза всех местных лентяев которые не умеют пользоваться поиском и не заглядывают в хелп Владимир Забелин тоже когда-то начинал с малого, но постольку поскольку в то время когда он начинал по Земле еще ходили динозавры, интернет форумов еще не было, а создавать красивые картинки ему приходилось в 3D Studio под DOS (это он поведал мне и группе студентов RealTime больше 10 лет назад) ему приходилось докапываться до всего самому. С тех пор он является ярым приверженцем концепции изучения програмных продуктов через ознакомление с хелпом. Чем помогает теории эволюции сэра Чарльза Дарвина с его концепцией: Выживает сильнейший! :)
 
Рейтинг
47
#14
Skif, произошла опечатка. Я имел в веду не "опиши это все на странице скрипта" а "опишу"

Господа, а так ли принципиально именно MEL? Я, пока пассивно, подумываю о Python. Вроде бы делать можно все, что и МЕЛом. Но только он, по моему, перспективнее.
 

Владимир Забелин

Активный участник
Рейтинг
17
#15
Принципиален только HELP. Если не научитесь работать с ним, то перспектив не будет ни в MEL, ни в Pyton, ни в анимации ни в разведении бойцовых клопов

Вы найдите в себе силы выучить хоть что нибудь, а потом уже будете рассуждать что перспективнее.

zka, боюсь, что вынужден не согласиться с Вами.
Главных ошибок начинающих изучать Maya две : первая состоит в ошибочном мнении, что Майа изучится сама путем сверхъестесвенного проникновения прямо в мозг и вторая, что все именно так ее и изучали.
И на самом деле я апологет СИСТЕМАТИЧЕСКОГО подхода к образованию, в том числе и к изучению Maya. Просто самым доступным, полным, хорошо организованным и поставляемым вместе с программой и всегда находящийся под рукой является именно Хелп, но я неоднократно указывал список книг, которые помогут в систематическом подходе.

и. внимание, "Понимая Maya" - книжка в принципе не для начинающих. И она здорово устарела.
 

Алекс Юстас

Пользователь сайта
Рейтинг
2
#16
Мда, однако добрые какие тут все. Пост конечно старый, но народ какой-то злобный :Confused:
 
Последнее редактирование:
#18
господин Забелин, напишите книгу, только для профессионалов.
Че вы ограничились канальчиком на трубе? - это не серьезно.
Или не хотите пускать в массы сложные навыки?
 

Lemieux

Знаток
Рейтинг
58
#19
Сверху