Перейти к контенту

Моделирование в Maya


Qbik

  

95 голосов

  1. 1. Нужна ли отдельная тема "Анимирование в Maya"?

    • Да
      74
    • Нет
      10
    • Затрудняюсь ответить
      11


Рекомендуемые сообщения

CuJIbBEP, не совсем въехал в твою проблему. У тебя что, каждый полигон обзаводится собственными, принадлежащими только ему вершинами и всеэджи становятся граничащими?

Не проьовал выделить все вершины и применить мерж со значением 0.0001?

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение

Приветствую.

Я постил это на ap-pro, но может и сдесь кому пригодится. Реально полезная вещь.

 

------------------------------------------------------------------

 

 

Вопрос по Майя. Уж не знаю.

Можно ли как-то увидеть размеры отдельно выделенных граней или рёбер?

 

Задавался я недавно вот этим вопросом' date=' но ответа, вразумительного, не получил.

Но, как говорится, кто ищет, тот найдёт ^_^

--------------

Я шарил по интернету и буквально наткнулся на сайт Render.ru, модельщики думаю с ним знакомы ;)

Так вот, мне попалась тема по увеличению скорости работы в Майа. И нашол я там очень интересный скрипт natHUD.mel

Вот авторское описание:

Сегодняшний дебют будет посвящен скрипту natHUD.mel, который был показан на мастерклассе. Он добавляет в майский HUD следующие возможности:

вывод информации о выделении, которая помогает понять, в каком порядке было сделано выделение и сколько объектов всего выделено

универсальный измеритель расстояний: работает на ребрах, вертексах и кривых, а так же умеет показывать угол нормали в мировых координатах

вывод информации о проектном пути

вывод информации об относительном пути до сцены

 

Данный скрипт интегрирован в Maya – после запуска вы найдете в меню Display->Heads Up Display четыре новых пункта. Гарантированно работает в Maya 2008, 2009.

И видео о работе скрипта:

 

 

[media]

[/media]

 

 

------------------------------

А вот собственно и сам скрипт: http://narod.ru/disk.../natHUD.7z.html

Установка: скопируйте скрипт в папку \maya\Номер версии\scripts\ и перезапустите Maya.

При открытии Майа, скрипт будет грузиться автоматически.

 

------------------------

По поводу версий Майи - это финальный вариант скрипта, так что, скорее всего будет работать и с более поздними версиями.

 

---------------------------------------------

И так, продолжаем испытывать радость от использования скриптов :P

Наверняка многие начинающие майщики знакомы с проблемой настройки сцены, при каждом новом открытии новой сцены. А именно - сантиметры поменять на метры, затем отдалить камеру Far Clip Plane = 10000.

Можно заставить Майю делать это самостоятельно ;)

Для этого:

1. ищем файл Documents\maya\номер_версии\prefs\userPrefs.mel, открываем вордпадом или нотепадом, может даже и блокнот справится, и ищем вот такие строчки:

-sv "workingUnitLinear" "сm"
-sv "workingUnitLinearDefault" "сm"

Меняем "cm" на "m", то есть метры ;)

-sv "workingUnitLinear" "m"
-sv "workingUnitLinearDefault" "m"

 

2. создаём файл userSetup.mel, по адресу Documents\maya\номер_версии\scripts и пишем в него

scriptJob -e NewSceneOpened my_init;
global proc my_init() {
setAttr "perspShape.farClipPlane" 10000;
}

Если у вас уже есть userSetup.mel, то это просто можно дописать в конце :)

 

Всё, теперь при открытии программы, сцена сразу будет настроена под сталкер. B)

 

P.S.: автор метода выполнения скрипта при открытии программы Dark™ с сайта render.ru

 

Хочу добавить по поводу скрипта natHUD. Если у кого не заработают менюшки, в Дисплей-Хэдс_ап_дисплэй, вот офф. коментарий автора (Дмитрий damat Астапкович)

 

Если все же потребуется удалять отдельные элементы, для этого есть вот такие команды:

 

headsUpDisplay -rem natHUDprojectName;

headsUpDisplay -rem natHUDsceneName;

headsUpDisplay -rem natHUDselection;
headsUpDisplay -rem natHUDdistance;

  • Нравится 1

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение

vadyan, случайно не пак динисыча. Новая версия платная, 40 американских рублей. Зато с качественным GUI. Ну а по поводу не запуска сталкерских скриптов - помоему взято с потолка. У меня ничего работать не перестало. И в юзерСетапе их все прописывать не обязательно, как работали так и будут работать.

 

P.S.: учи матчасть и не городи ерунды.

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Всем привет. Нашел в сети несколько скриптов, для создания труб.

bezierWindowV6.mel - процедурное создание труб, аналог экструда вдоль кривой.

Запуск: сначала загрузить полностью весь текст скрипта в скрипт эдиторе, потом отдельно bezierWindow;

Откроется окно ГУИ с настройками.

--------------------------------------------------------------------------------

pipeUI.mel - создание изгибов труб, аналог инструмента Wedge Face.

Запуск: запустить в скрипт эдиторе. Также откроется окно ГУИ.

 

---------------------------------

Ссылка на оба скрипта: http://narod.ru/disk...cripts.zip.html

Просьба не использовать столь яркие цвета для выделения текста.

Изменено пользователем Halford

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение

Вот ещё вроде бы полезный скрипт.

Копирование UV с одного меша\фэйса на другой меш\фэйс с удобным GUI.

7ed575b7af5ct.jpg

 

http://narod.ru/disk/60961534001.d0ac15003f4c9bee0de80d36cfd2e360/Poly_UV_Transfer.rar.html

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение

break

Это для мазахистов, работающих с более ранними версиями.

Базаров ноль, томе кто собирается всерьёз заниматься моделированием, скачают двенадцатую или уже даже тринадцатую.

Лично я, частенько пользуюсь сторонними скриптами с моей верной девятой версией.

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение

Приветствую. Опять я со скриптом. Полюбилось мне это дело, жуть.

Скрипт для генерации веток деревьев, кустов, травы и прочей подобной растительности.

 

 

 

Работает он так, покажу на примере куста:

1. Создать плоскость, затекстурить текстурой ветки, пивот расположить на одном из рёбер, смотрим рисунок

c15a9cbada7f5a0c8308e82a3436ab93.gif

Важно!!! Обзывем плоскость Bush (в оутлинере)

2. Открываем скрипт в текстовом редакторе, и ищем нужную секцию (там всё подписано, разберётесь). И копируем в скрипт эдитор (в нижнее поле).

e865f784b3a62592313c0322a83a7e8f.gif

 

3.Запускаем скрипт и видим следующее:

6b66ad7f14ed3829828b05dc34e66536.gif

Можно запустить скрипт несколько раз.

4. Вот, что у меня в итоге, получилось:

 

be58a97eef6c2bbb4f3c38689e76c4fa.gif

 

--------------------------------------------------

Ссылка на скрипт:

http://narod.ru/disk/61255969001.cbacab96947b4fe263f3b9e8dffadf65/script.mel.html

 

P.S.: если кому интересно, дам ссыль на оригинальную тему, или кто не разберётся. В личку стучитесь, если что.

 

 

 

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение

Это всего лишь названия инструментов или операций, которые написаны по английски, но читаются и произносятся по русски. Иногда их коверкают как хотят, со временем привыкнешь.

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

"Оригинальные джоинты не двигать!!!" - то-же самое что и кости (по русски). Нельзя двигать\вращать - собьются анимации.

"прибиндидь аддоны к соответствующим костям и экспортировать в .object." - выполнить последовательность операций : выделит меш аддона, затем косточку для аддон, затем ГП\Skin\Bind Skin\Smooth Bind\ в настройках указать Selected Joints

Как то так, общем. :)

 

Да, ещё можно попробовать прибиндить аддон прямо к кости ствола, ели таковая имеется конечно. Будет типа не съёмный глушитель ;)

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение

Попросил на одном сайте модифицировать скрипт генератора. Теперь можно применять на любой, выбранный меш, не зависимо от его имени.

 

string $selectObject[]= `ls -sl`;

 

int $i;

 

float $x, $y, $z, $x1, $y1, $z1, $x2, $y2, $z2;

 

for($i = 0; $i < 10; $i++) // цифра 10 отвечает за кол-во генерируемых объектов

 

{

 

select -r $selectObject;

 

duplicate -rr;

 

$x = rand (-10, 10) ;

 

$y = rand (-5, 5) ;

 

$z = rand (-10, 10) ;

 

$x1 = rand ( -20, 20) ;

 

$y1 = rand ( 0, 360) ;

 

$z1 = rand ( -20, 20) ;

 

$x2 = rand ( 0.5, 1.5) ;

 

$y2 = rand ( 0.5, 1.5) ;

 

$z2 = rand ( 0.5, 1.5) ;

 

 

 

move -r $x 0 $z;

 

rotate -r 0 $y1 0;

 

scale -r $x2 $y2 $z2;

 

}

 

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение

Werner, просто товарищь не вдупляет, что для того, чтобы выровнять эджи, нужно либо удалить вертексы между ними, либо воспользоваться скриптом. В паке от Дениса Рыбакова такой скрипт есть.

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение

Lerner, проверь на наличие ошибок, cleanup в вомощь, вот с такими настройками:

 

 

 

Docs_maya_cleanup.jpg

 

 

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Lerner, на том сайте вообще много инфы для новичков. Изучай, а если хочешь серьёзно изучать, то иди на специализированные сайты, там и инфы больше, и помощь более компетентная.

 

На форуме запрещено писать жирным шрифтом.

ColR_iT

Изменено пользователем ColR_iT
Устрое предупреждение!

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

No polygonal objects found. No cleanup will be performed. - Не полигональных объектов нашел. Очистки не будет выполняться. В нурбах моделируешь чтоли.

Начни со статьи "Привет мир. Создание кубика".

Изменено пользователем ColR_iT

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение

Без понятия. Тупишь чего-то. Плагин не тот поставил, или ещё чего. Причина неудачь только в тебе.

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение

Странно, очень странно.

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

Пысовский плагин при экспорте, сам проверяет геометриб модели, а от Бардака - нет. Соответственно, нужно самому всё поправить, и потом обязательно!!! удалить историю (Майя может крякнуть вплоть до вылета).

Как-то так, в общем :)

Говорю же, начни со статьи про кубик (на том же сайте). Поможет освоиться. Ещё вариант, скачай :ph34r: или купи за огромные деньги Цыпцын С. - "Понимая Maya." в двух томах. Да почитай.

 

Привет, начал писать окошечко, для скрипта генератора, который выкладывал ранее. Зацените ка:

 

d8017c4b86dfa3a349be7757d2e589f2.gif

 

 

 

 

window -t "Strahovid_Generator" DROP_WINDOW;
columnLayout;

gridLayout -numberOfColumns 4 -cellWidthHeight 64 20;

button -l "Tree" -w 64 -c "Tree";
button -l "Undo" -w 64 -c "Undo;";
setParent..;
separator -w 300 -h 25;

gridLayout -numberOfColumns 4 -cellWidthHeight 64 20;
button -l "Kust" -w 64 -c "Kust";
button -l "Undo" -w 64 -c "Undo;";
setParent..;
separator -w 300 -h 25;

gridLayout -numberOfColumns 4 -cellWidthHeight 64 20;
button -l "Trava" -w 64 -c "Trava";
button -l "Undo" -w 64 -c "Undo;";
setParent..;
separator -w 300 -h 25;

gridLayout -numberOfColumns 4 -cellWidthHeight 64 20;
button -l "Paporotnik" -w 64 -c "Paporotnik";
button -l "Undo" -w 64 -c "Undo;";
setParent..;
separator -w 300 -h 25;

button -l "Close" -w 64 -c "deleteUI DROP_WINDOW;" ;
setParent..;
showWindow DROP_WINDOW;



global proc Tree()
{
string $list[] = `ls -sl`;
int $i;

float $x, $y, $z, $x1, $y1, $z1, $x2, $y2, $z2;



for($i = 0; $i < 30; $i++)

  {

select -r $list;

duplicate -rr;

$x = rand (-5, 5) ;

$y = rand (-5, 5) ;

$z = rand (-5, 5) ;

$x1 = rand ( -20, 30) ;

$y1 = rand ( 0, 360) ;

$z1 = rand ( -20, 30) ;

$x2 = rand ( 0, 2) ;

//$y2 = rand ( 1, 2) ;

$z2 = rand ( 0, 2) ;



move -r 0 $y 0;

rotate -r $x1 $y1 $z1;

scale -r $x2 0 $x2;

   }
}

global proc Kust()
{
string $list[] = `ls -sl`;
int $i;

float $x, $y, $z, $x1, $y1, $z1, $x2, $y2, $z2;



for($i = 0; $i < 10; $i++)

  {

select -r $list;

duplicate -rr;

$x = rand (-10, 10) ;

$y = rand (-5, 5) ;

$z = rand (-10, 10) ;

$x1 = rand ( -20, 20) ;

$y1 = rand ( 0, 360) ;

$z1 = rand ( -20, 20) ;

$x2 = rand ( 0.5, 1.5) ;

$y2 = rand ( 0.5, 1.5) ;

$z2 = rand ( 0.5, 1.5) ;



move -r $x 0 $z;

rotate -r 0 $y1 0;

scale -r $x2 $y2 $z2;

   }
}

global proc Trava()
{
string $list[] = `ls -sl`;
int $i;

float $x, $y, $z, $x1, $y1, $z1, $x2, $y2, $z2;



for($i = 0; $i < 300; $i++)

  {

select -r $list;

duplicate -rr;

$x = rand (-10, 10) ;

$y = rand (-5, 5) ;

$z = rand (-10, 10) ;

$x1 = rand ( -20, 20) ;

$y1 = rand ( 0, 360) ;

$z1 = rand ( -20, 20) ;

$x2 = rand ( 1, 2) ;

$y2 = rand ( 0.8, 1.2) ;

$z2 = rand ( 1, 2) ;



move -r $x 0 $z;

rotate -r $x1 $y1 $z1;

scale -r 1 $y2 1;

  }
}

global proc Paporotnik()
{
string $list[] = `ls -sl`;
int $i;

float $x, $y, $z, $x1, $y1, $z1, $x2, $y2, $z2;



for($i = 0; $i < 20; $i++)

  {

select -r $list;

duplicate -rr;

$x = rand (-10, 10) ;

$y = rand (-5, 5) ;

$z = rand (-10, 10) ;

$x1 = rand ( -20, 20) ;

$y1 = rand ( 0, 360) ;

$z1 = rand ( -20, 20) ;

$x2 = rand ( 0.8, 2) ;

$y2 = rand ( 0.5, 1.5) ;

$z2 = rand ( 0.5, 1.5) ;



move -r $x 0 $z;

rotate -r 0 $y1 0;

scale -r $x2 $x2 $x2;

   }
}

 

 

 

Пока не окончательный вариант. Хочу сделать настраиваемое количество генерируемых мешей. Пока что они забиты в скрипты.

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение

Не запускается плагин, галка не ставится - не подходит версия Майи и скрипта. Пысовские только до 2010-й версии есть, РейТулз - до 2012 соответственно.

Да и разрядность значение имеет.

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение

Сегодня с утра, на свежую голову, посидел и дотумкал как всё сделать. Вот финальный вариант:

7473fd32b91b3a368a0d85ae42df8c2c.gif

 

 

 

window -t "Strahovid_Generator" DROP_WINDOW;
columnLayout;

intSliderGrp -l "Tree" -field 1 -value 10 -min 1 -max 1000 TREE;
gridLayout -numberOfColumns 4 -cellWidthHeight 64 20;
button -l "Gen" -w 64 -c "Tree";
button -l "Undo" -w 64 -c "Undo;";
setParent..;
separator -w 300 -h 25;

intSliderGrp -l "Kust" -field 1 -value 10 -min 1 -max 1000 KUST;
gridLayout -numberOfColumns 4 -cellWidthHeight 64 20;
button -l "Gen" -w 64 -c "Kust";
button -l "Undo" -w 64 -c "Undo;";
setParent..;
separator -w 300 -h 25;

intSliderGrp -l "Trava" -field 1 -value 10 -min 1 -max 1000 TRAV;
gridLayout -numberOfColumns 4 -cellWidthHeight 64 20;
button -l "Gen" -w 64 -c "Trava";
button -l "Undo" -w 64 -c "Undo;";
setParent..;
separator -w 300 -h 25;

intSliderGrp -l "Paporotnik" -field 1 -value 10 -min 1 -max 1000 PAPO;
gridLayout -numberOfColumns 4 -cellWidthHeight 64 20;
button -l "Gen" -w 64 -c "Paporotnik";
button -l "Undo" -w 64 -c "Undo;";
setParent..;
separator -w 300 -h 25;

button -l "Close" -w 64 -c "deleteUI DROP_WINDOW;" ;
setParent..;
showWindow DROP_WINDOW;



global proc Tree()
{
string $list[] = `ls -sl`;
$tree = `intSliderGrp -q -value TREE`;
int $i;

float $x, $y, $z, $x1, $y1, $z1, $x2, $y2, $z2;



for($i = 0; $i < $tree; $i=$i+1)

  {

select -r $list;

duplicate -rr;

$x = rand (-5, 5) ;

$y = rand (-5, 5) ;

$z = rand (-5, 5) ;

$x1 = rand ( -20, 30) ;

$y1 = rand ( 0, 360) ;

$z1 = rand ( -20, 30) ;

$x2 = rand ( 0, 2) ;

//$y2 = rand ( 1, 2) ;

$z2 = rand ( 0, 2) ;



move -r 0 $y 0;

rotate -r $x1 $y1 $z1;

scale -r $x2 0 $x2;

   }
}

global proc Kust()
{
string $list[] = `ls -sl`;
$kust = `intSliderGrp -q -value KUST`;
int $i;

float $x, $y, $z, $x1, $y1, $z1, $x2, $y2, $z2;



for($i = 0; $i < $kust; $i=$i+1)

  {

select -r $list;

duplicate -rr;

$x = rand (-10, 10) ;

$y = rand (-5, 5) ;

$z = rand (-10, 10) ;

$x1 = rand ( -20, 20) ;

$y1 = rand ( 0, 360) ;

$z1 = rand ( -20, 20) ;

$x2 = rand ( 0.5, 1.5) ;

$y2 = rand ( 0.5, 1.5) ;

$z2 = rand ( 0.5, 1.5) ;



move -r $x 0 $z;

rotate -r 0 $y1 0;

scale -r $x2 $y2 $z2;

   }
}

global proc Trava()
{
string $list[] = `ls -sl`;
$trav = `intSliderGrp -q -value TRAV`;
int $i;

float $x, $y, $z, $x1, $y1, $z1, $x2, $y2, $z2;



for($i = 0; $i < $trav; $i=$i+1)

  {

select -r $list;

duplicate -rr;

$x = rand (-10, 10) ;

$y = rand (-5, 5) ;

$z = rand (-10, 10) ;

$x1 = rand ( -20, 20) ;

$y1 = rand ( 0, 360) ;

$z1 = rand ( -20, 20) ;

$x2 = rand ( 1, 2) ;

$y2 = rand ( 0.8, 1.2) ;

$z2 = rand ( 1, 2) ;



move -r $x 0 $z;

rotate -r $x1 $y1 $z1;

scale -r 1 $y2 1;

  }
}

global proc Paporotnik()
{
string $list[] = `ls -sl`;
$papo = `intSliderGrp -q -value PAPO`;
int $i;

float $x, $y, $z, $x1, $y1, $z1, $x2, $y2, $z2;



for($i = 0; $i < $papo; $i=$i+1)

  {

select -r $list;

duplicate -rr;

$x = rand (-10, 10) ;

$y = rand (-5, 5) ;

$z = rand (-10, 10) ;

$x1 = rand ( -20, 20) ;

$y1 = rand ( 0, 360) ;

$z1 = rand ( -20, 20) ;

$x2 = rand ( 0.8, 2) ;

$y2 = rand ( 0.5, 1.5) ;

$z2 = rand ( 0.5, 1.5) ;



move -r $x 0 $z;

rotate -r 0 $y1 0;

scale -r $x2 $x2 $x2;

   }
}

 

 

 

Можно двигать ползунок, а можно вводить с клавиатуры в диапозоне от 1 до 1000.

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение

В продолжение темы "текстуринга".

Думал сегодня как облегчить себе жизнь. И надумал следующее.

Простенькое окошечко гуи, на кнопки подвешена Планар_Маппинг с разными настройками проецирования, как то, откамеры или по осям.

da13d975e41fe04a97da60718ca8c28a.gif


window -t "Strahovid_Mapping" DROP_WINDOW;
columnLayout;


gridLayout -numberOfColumns 4 -cellWidthHeight 90 30;

button -l "Camera" -w 64 -c "camera";
button -l "X" -w 64 -c "x";
button -l "Y" -w 64 -c "y";
button -l "Z" -w 64 -c "z";

setParent..;
showWindow DROP_WINDOW;

global proc camera()
{
//string $list[] = `ls -sl`;
string $list[] = `ls -sl -fl`;
polyProjection -ch 1 -type Planar -ibd on -kir -md c $list;

}

global proc x()
{
string $list[] = `ls -sl -fl`;
polyProjection -ch 1 -type Planar -ibd on -kir -md x $list;
}

global proc y()
{
string $list[] = `ls -sl -fl`;
polyProjection -ch 1 -type Planar -ibd on -kir -md y $list;
}

global proc z()
{
string $list[] = `ls -sl -fl`;
polyProjection -ch 1 -type Planar -ibd on -kir -md z $list;
}

 

 

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...