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

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


  

95 голосов

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

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


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

Всё что связано с Autodesk Maya обсуждаем здесь

========================================================

RWNjiOt.png

 

(составлено 

break):

В: Где скачать обновления Майи?
О: На оф. сайте Autodesk: http://usa.autodesk.com/adsk/servlet/ps/dl/index?siteID=123112&id=2334435&linkID=9242259
----
В: Где взять плагины для работы со Сталкер-форматами?
О: Официальные для ТЧ - здесь: http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=viewtheoned&lid=437
Официальные для ЧН/ЗП - здесь: http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=viewtheoned&lid=436
Плагин bardak'а здесь: http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=viewtheoned&lid=454
Обновляемые плагины для последних версий Maya лежат (2014) здесь.
----
В: Как установить плагины?
О: Официальные:
1) Скопировать xrayMaya_export.dll и xrayMaya_material.dll в $MAYA/bin/plug-ins
2) Скопировать BugTrap.dll и xray_path.ltx в $MAYA/bin
Бардаковские:
0) Смотри readme
----
В: Чем отличаются "официальные" плагины от плагина бардака?
О: Официальные плагины разработаны GSC. Могут экспортировать геометрию, скелетную анимацию (.skl) и
анимацию камеры (.anm). Импортера нет. Есть сборки до Maya 2010 включительно, но только под win32.
В комплекте с ними идет набор MEL-скриптов:
1) AEXRayMtlTemplate.mel создает дополнительные контролы для ноды XRayMtl в редакторе атрибутов.
Без него вы не увидите свитка hardware texturing и назначенная в color текстура останется "размытой".
2) exportXRayCameramоtionAdvance.mel - множественный экспорт анимации камеры (.anm)
3) exportXRayObjectAdvance.mel - множественный экспорт статических объектов (.object)
4) exportXRaySkinMotionAdvance.mel - массовый экспорт скелетной анимации (.skl)
5) exportXRaySkinObjectAdvance.mel - массовый экспорт скелетных объектов (.object)
6) XRayShaders.mel - менюшка для назначения engine/compiler shader'ов и game material'ов.
Часть этих скриптов вызывает функции пысовского экспортера и бесполезна для бардаковского плага.
 
Плагин бардака поддерживает импорт .ogf, .dm, .object, .omf, .skl, .skls и экспорт .object, .skl.
Экспортера .anm нет. Сборки под Maya 8.5-2014, включая x64 версии. Совместим с официальными плагинами
и XRay-материалом. Исходный код полностью открыт: https://bitbucket.org/stalker/xray_re-tools/src
(Квалифицированные кодеры - давайте конпелировать в месте!)
При всех достоинствах бардаковского плагина, имеются и недоработки:
1) нерешенная проблема со сглаживанием .object'ов формата ЗП
2) отсутствие экспорта анимации камеры в формат .anm
3) невозможно экспортировать клипы из TraX Editor'а
----
В: Я максист, хде xform в Майе?
О: Modify->freeze transforms, reset transforms

xr_startup_scene_init.mel
Устанавливает рабочие единицы и плоскости отсечки под Сталкера.

global proc xr_startup_scene_init() {
///
// Установка рабочих единиц
//
currentUnit -linear "meter" -time "ntsc";
///
// Установка плоскостей отсечки
//
viewClipPlane -nearClipPlane 0.01 -farClipPlane 1000 perspShape;
viewClipPlane -nearClipPlane 0.01 -farClipPlane 1000 topShape;
viewClipPlane -nearClipPlane 0.01 -farClipPlane 1000 frontShape;
viewClipPlane -nearClipPlane 0.01 -farClipPlane 1000 sideShape;print "XRay settings: initialized\n";xr_startup_plugin_loader();
}
 

xr_startup_plugin_loader.mel
Загружает и добавляет в автозагрузку xrayMayaTools.mll. Если версия Maya <= 2010, то дополнительно
пытается загрузить и убрать из автозагрузки xrayMaya_export.mll, а также выгрузить и убрать из
автозагрузки xrayMaya_material.mll (как рекомендовал bardak).


global proc xr_startup_plugin_loader() {
string $xray_maya_tools_path = `getenv MAYA_LOCATION`
         + "/bin/plug-ins/xrayMayaTools.mll";
string $xray_maya_material_path = `getenv MAYA_LOCATION`
         + "/bin/plug-ins/xrayMaya_material.mll";
string $xray_maya_export_path = `getenv MAYA_LOCATION`
         + "/bin/plug-ins/xrayMaya_export.mll";
///
// XRay Maya tools
//
if (!(`filetest -s $xray_maya_tools_path`)) {
  print "xrayMayaTools: plug-in not found\n";
} else if (`pluginInfo -q -loaded xrayMayaTools`) {
  print "xrayMayaTools: already loaded\n";
} else {
  loadPlugin xrayMayaTools;
  pluginInfo -e -autoload true xrayMayaTools;
  print ((`pluginInfo -q -loaded xrayMayaTools`)
    ? "xrayMayaTools: loaded\n"
    : "xrayMayaTools: not loaded\n");
}
///
// Официальные плагины
//
if (`about -apiVersion` <= 201000) {
  ///
  // Принудительная выгрузка material-плагина во избежание конфликта с xrayMayaTools
  //
  if (!(`filetest -s $xray_maya_material_path`)) {
   print "xrayMaya_material: plug-in not found, it's OK\n";
  } else if (`pluginInfo -q -loaded xrayMaya_material`) {
   unloadPlugin -force xrayMaya_material;
   pluginInfo -e -autoload false xrayMaya_material;
   print "xrayMaya_material: successfully unloaded\n";
  }
  ///
  // Загрузка экспортера
  //
  if (!(`filetest -s $xray_maya_export_path`)) {
   print "xrayMaya_export: plug-in not found\n";
  } else if (`pluginInfo -q -loaded xrayMaya_export`) {
   print "xrayMaya_export: already loaded\n";
  } else {
   loadPlugin xrayMaya_export;
   // убираем из автозагрузки во избежание конфликта
   pluginInfo -e -autoload false xrayMaya_export;
   print ((`pluginInfo -q -loaded xrayMaya_export`)
     ? "xrayMaya_export: loaded\n"
     : "xrayMaya_export: not loaded\n");
  }
}
print "XRay plug-ins: successfully loaded\n";
}
 

xr_object_export.mel
Переписанный ПЫСовский скрипт для множественного экспорта объектов. Для 2012 и выше.

global proc xr_object_export() {
if (size(`ls -sl`) == 0) {
  confirmDialog -title "Error"
     -message "Nothing selected!"
     -button "OK" -defaultButton "OK"
     -icon "warning";
  error "Nothing selected";
}
$response = `confirmDialog -title "Confirm action"
       -message "Are you sure to export all selected objects?"
       -button "Yes" -button "No" -defaultButton "Yes"
       -cancelButton "No" -dismissString "No"
       -icon "question"`;
if ($response == "Yes") {
  string $exported_objects[] = `ls -sl`;
  print ("Selected: \n");
  print $exported_objects;
  print "\n";
  print ("Export:\n");
  int $i = 0;
  string $export_dir[] = `fileDialog2 -caption "Export selection"
           -fileMode 3
           -okCaption "OK"
           -cancelCaption "Cancel"`;
  if ($export_dir[0] == "") {
   error "Export canceled\n";
  } else if ($export_dir[0] != "Cancel") {
   for ($i; $i < size($exported_objects); $i++) {
    select $exported_objects[$i];
    //polyTriangulate -name $exported_objects;
    string $name = $export_dir[0] + "/" + $exported_objects[$i];
    file -exportSelected -type "X-Ray object" $name;
    print ($name + ".object\n");
   }
  }
  print ("Summary: " + size($exported_objects) + " file(s) exported" + "\n");
  // FIXME: undo
} else if ($response == "No") {
  error "Export canceled\n";
}
}

AEXRayMtlTemplate.mel
О нем вы читали выше.


//AEXRayMtlTemplate.melglobal proc AEXRayMtlTemplate( string $nodeName ) {
AEswatchDisplay $nodeName;
editorTemplate -beginScrollLayout;editorTemplate -beginLayout "Common Material Attributes" -cl off;
  editorTemplate -addControl "color";
  editorTemplate -addControl "transparency";
  editorTemplate -addControl "incandescence";
editorTemplate -endLayout;editorTemplate -beginLayout "Hardware Texturing" -cl off;
AEhardwareTextureTemplate $nodeName
  ("color transparency incandescence");
editorTemplate -endLayout;editorTemplate -beginLayout "X-Ray Material Attributes" -cl off;
  editorTemplate -addControl "xrayDoubleSide";
  editorTemplate -addControl "xrayEngineShader";
  editorTemplate -addControl "xrayCompilerShader";
  editorTemplate -addControl "xrayGameMaterial";
editorTemplate -endLayout;editorTemplate -addExtraControls;
editorTemplate -endScrollLayout;
}
 

Поправленный скрипт Страховида - boolean и деформер полигональной поверхности (http://www.amk-team.ru/forum/index.php?showtopic=5422&p=734386)

global proc strah_deform_n_cut() {string $dfc_window = `window -title "Strahovid" -menuBar true`;menu -label "Edit";
  menuItem -label "Undo" -command "Undo";
  menuItem -label "Redo" -command "Redo";
columnLayout;menu -label "Help" -helpMenu true;
  menuItem -label "Discussion"
    -command "showHelp -absolute \"http:\/\/www.amk-team.ru\/forum\/index.php?showtopic=5422\""
    ;
columnLayout;scrollLayout scrollLayout;
  columnLayout -adjustableColumn true;
   frameLayout -label "Deform & cut tool" -borderStyle "in";
    columnLayout -adjustableColumn true;
     floatSliderGrp -label "Vertex offset X: "
         -field 1 -value 0.1 -min 0 -max 0.5 -step 0.01 X;
     floatSliderGrp -label "Vertex offset Y: "
         -field 1 -value 0.1 -min 0 -max 0.5 -step 0.01 Y;
     floatSliderGrp -label "Vertex offset Z: "
         -field 1 -value 0.1 -min 0 -max 0.5 -step 0.01 Z;
    setParent ..;    columnLayout -adjustableColumn true;
     button -w 174 -h 26 -label "Deform" -command "dfc_deform";
     button -w 174 -h 26 -label "Cut" -command "dfc_cut";
     button -w 174 -h 26 -label "Close" -command ("deleteUI -window " + $dfc_window);
    setParent ..;showWindow $dfc_window;
}//////////////////////////////////////////////////////////////////////////
proc dfc_deform() {
string $list[] = `ls -sl -fl`;
string $item;
float $mX = `floatSliderGrp -q -v X`;
float $mY = `floatSliderGrp -q -v Y`;
float $mZ = `floatSliderGrp -q -v Z`;
for($item in $list) {
  move -r (rand(-$mX,$mX)) (rand(-$mY,$mY)) (rand(-$mZ,$mZ)) $item;
}
}//////////////////////////////////////////////////////////////////////////
proc dfc_cut() {
string $o1[] = `ls -sl`;
string $ob1 = $o1[0];
string $ob2 = $o1[1];
string $o2[] = `duplicate $o1`;
string $o5[] = `duplicate $ob1`;
string $ob3 = $o2[0];
string $ob4 = $o2[1];
polyNormal $ob3;
string $rez1[] = `polyBoolOp -op 3 $ob1 $ob2`;
string $rez2[] = `polyBoolOp -op 3 $ob3 $ob4`;
xform -cp $rez1 $rez2 $o5;
select $o5;
}
 

xr_tools.mel
Меню для вызова вышеуказанных скриптов.



global proc xr_tools() {global string $gMainWindow;
setParent $gMainWindow;menu -l "X-Ray Tools" -p MayaWindow -tearOff true xr_tools;menuItem -label "Apply XRay settings"
   -annotation "Apply XRay settings"
   -command "xr_startup_scene_init"
   xr_startup_scene_init;menuItem -divider true;menuItem -label "Multiple export"
   -subMenu true
   -tearOff true
   ;menuItem -label "Export objects"
   -annotation "Export selected objects"
   -command "xr_object_export"
   xr_object_export;setParent -m ..;//////////////////////////////////////////////////////////////////////////
menuItem -label "XRay material..."
   -subMenu true
   -tearOff true
   ;
menuItem -divider true;////
// Удаление неиспользуемых Shading nodes. Сюда вынесено лишь для удобства.
//
menuItem -label "Delete unused shading nodes"
   -command "MLdeleteUnused"
   MLdeleteUnused;setParent -m ..;///////////////////////////////////////////////////////
menuItem -divider true;menuItem -label "About..."
   -subMenu true
   ;menuItem -label "Discussion"
   -command "showHelp -absolute \"http:\/\/www.amk-team.ru\/forum\/index.php?showtopic=5422\""
   ;   setParent -m ..;
}
 

userSetup.mel
Пользовательские установки. Здесь - подгрузка скриптов.



///
// Инициализация UI
//
evalDeferred -lowestPriority xr_tools;
///
// xr_startup_scene_init.mel выполняется каждый раз при создании новой сцены,
// в т.ч. сразу после загрузки Maya. Раскомментируйте, если нужно.
//
//scriptJob -event NewSceneOpened xr_startup_scene_init;
 

 

http://rusfolder.com/37228626

 

Ссылка на актуальную версию скрипта XrayToolMaya

 

В: Как правильно сообщать об ошибках?
О: 1) Сообщите версию Майи и  используемых плагинов.
2) Подробно опишите свои действия и цель этих действий.
3) Приведите лог из окна вывода (output window) и редактора скриптов (script editor).
4) В тяжелых случаях не помещает выложить сцену.
----
В: Пытаюсь экспортировать скелетную анимацию пысовским плагом, но он выдает ошибку:
XR-Error: Can't export animation with FPS!=30.f
XR-Error: Export failed.
О: В XRay принята частота 30 кадров в секунду. Измените настройки: http://images.gameru.net/image/direct/401a3efaa2.png

 

Изменено пользователем vadyan
  • Нравится 1
  • Полезно 1

Захоти тихо, проси мало, уходи быстро.

 

Заходи не бойся - уходя не плачь

Ссылка на комментарий

[KDit], сэнкъю, я тут посидел и ещё один способ нашол, в принципе тоже как вариант - нужно перейти в режим фейсов и выделить их все на этом объекте, тогда указующие стрелочки появятся рядом и можно двигать весь объект.

Но в "Move Tool - клик по обэкту -> Modify --> Center Pivot" конечно же практичнее, что бы не париться с выделением каждый раз.

 

У меня ещё вопрос. Кто нибуть пользовался "Статья про моделирование террейна и дрессировке "Заносчивой дамочки Maya" с использованием скрипта по разбиению на полигоны с учетом карты подробностей"? Получилось?

Дело в том что текстуру я нарисовал и карту подробностей тоже, но так и не понял как всё это применить. Скрипт надо в Скрипт_Эдиторе вводить? Всё там как-то слишком обобщённо, для сильноопытных.

Ссылка на комментарий

Добрый вечер. Есть ли плагин\скрипт\инструмен\модификатор для того, чтобы смоделить терищину или разлом(допустим в асфальте)?

Заранее спасибо.

Ссылка на комментарий

Добрый вечер. Есть ли плагин\скрипт\инструмен\модификатор для того, чтобы смоделить трещину или разлом(допустим в асфальте)?

Заранее спасибо.

Ой.....Незнаю как это получилось=(

Удалите лишнее сообщение.

Изменено пользователем zoidberg123456789
Ссылка на комментарий
zoidberg123456789, можно попробовать выделить рёбра, затем инстраментом МУВ потянуть их вниз, также и края можно разширить. Помоемеу самый простой вариант ;)
Ссылка на комментарий

Нашол кое-что интересное, по вопросу, заданному мной ранее: -"Как закрыть отверстие на объекте (террейне например)?"

Нужно выделить все фэйсы вокруг отверстия, затем Mesh=>Fill Hole

Таким образом будет создана не отдельная плоскость, а просто восстановится целостность исходного объекта.

В общем, вдруг кто не знает ;)

Ссылка на комментарий

Приветствую. Опять у меня проблема. Обращали наверняка внимание, что под объектами\строениями на террейне "дырка". Как её сделать, чтоб небыло зазоров, "обрезать" полигоны и чтобы они примыкали к зданию?

Наверно есть какой-то специальный инструмент, чтобы вот например выделить ребро на одном меше и "прилепить" его к другому.

Ссылка на комментарий
Paren Волшебная копка v чтоб заснапить вершины одного полигона к вершинам другого. Или экструдировать ребра здания отделить и прикрепить к торрейну опять с кнопкой v. Изменено пользователем Werner
Ссылка на комментарий

Werner, спасибо, разобрался. Можно на кнопку не жать, а просто на панели отметьть магнитик с точкой (привязка к вертексам). Ну теперь понятно и как "дырку" под зданием аккуратно сделать.

Вот ещё вопрос по видам привязки. На панели там 5 "магнитиков", первые три понятно, как остальные два применять?

Ссылка на комментарий

Можно ли, как нибудь, смоделить терраин именно таким образом:

Сделать плоскость, увеличить ей количество полигонов, и на этой плоскости как-то сделать дорогу?

Вот как именно?

Кто знает - подскажите. Буду признателен.

Просто через кривые очень плохо получается создание терраина... Нельзя использовать geomitry script. Полигонов на терраине мало получается, и увеличить нельзя. Кто знает как мне помочь - помогите.

P.S.: Просто терраинами никогда не занимался....=)

Ссылка на комментарий

Подскажите кто-нибудь в maya есть функция что-то типа игнорирования вертексов находящихся внутри(за стенкой например) модели?Что бы выделялась только одна стенка,все вроде просмотрел так и не нашел как сделать.Что вертексы выбираю что фейсы,выделяется все что находиться под предметом который выделяю.

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

VEX, врядли, просто кода надо выделить отдельно фэйсы\эджи\вертексы - зажми шифт и кликай отдельно по каждому элементу.

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

zoidberg123456789, я тут пробовал освоить скрипт по разбиению полигонов с учётом текстуры и наткнулся на интересный момент.

Вобщем, можно сделать так, создать плоскость, квадрат без разбиения на полигоны, в фотошопе нарисовать текстуру, чёрный квадрат с белой полосой, дорогой тобишь, и затем наложить эту текстуру на плоскость Модифи-Конверт-Текстур_фор_геометри. Майа разобьёт полигоны по этой белой линии, как-то так. Попробуй может что путнее выйдет :)

Ссылка на комментарий

zoidberg123456789, Paren, спасибо,но кликать по каждому отдельно это ладно бы если их было немного,а если их сотни,или тысячи? :)

Вообщем нашел всётаки решение для того что-бы выделялась только "видимая" часть модели,нужно поставить галочку на Camera based selection настройках выделения,вот здесь:

d36a5986bebb7c302f02589f183c4d536db8ad120882586.jpg

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

Добрый день. Как можно использовать инструмент Smooth, чтобы он не делал "потяжки" текстур?

Или есть ли ещё какой-нибудь модификатор для того, чтобы сгладить модель?(Точнее несколько полигонов от модели).

--------

Сам свою проблему разрешил. Кому интересно - убрать в настройках инструмента "Smooth" галочку на пункте "Smooth UVs".

 

Прошу прощения, свою проблему я решил не сам. Мне помогли. Вот этот пользователь: vadyan.

 

Ссылка на комментарий

Возможно ли, как-нибудь избежать потяжек текстур? А то уже умучился с этим...

И ещё вопросик:

Как сделать плавный переход от асфальта к земле? Рендеринг текстуры? Или вообще по другому?

Вот скрин:

b8991dc42359786669852c5a314bde1d6dac35122631035.jpg

Изменено пользователем zoidberg123456789
Ссылка на комментарий

Привет всем.

В общем... Есть вопрос...

Привязал модельку рук на скелет, ну... Вроде-бы всё отлично. Но, в СДК происходит вылет... Что делать? Может обнулить кости в майе? И... Как это сделать?

1060776.jpg

Ссылка на комментарий
Возможно ли, как-нибудь избежать потяжек текстур? А то уже умучился с этим...

И ещё вопросик:

Как сделать плавный переход от асфальта к земле? Рендеринг текстуры? Или вообще по другому?

Вот скрин:

b8991dc42359786669852c5a314bde1d6dac35122631035.jpg

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

 

плавный переход осуществляется двиглом сталкера на дх9, для этого делается текстура террейн маски с цветовым отображении разделения террейн шейдеров. Цвета настраиваются в настройках шейдера.

СВОБОДА - АНАРХИЯ

Ссылка на комментарий

Ребята, подскажите пожалуйста.... Сделал тиррейн тестовый, с дорогой. Вопрос вот в чем как убрать отверствия между дорогой и остальным тиррейном? Если кто может помогите, желательно попонятней, так-как в майе я недавно начал работать :ny_rolleyes:

Ссылка на комментарий

MesnikAnd, соедени вершинки там где дыра. Выбираешь две вершины - edit mesh - merge.

И так остальные.

Это как самый простой вариант.

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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