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

Моделирование в 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

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

 

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

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

Всем хай.
Ребяты которые знающие, тут такая проблема нарисовалась, касательно экспорта .object'ов.
Имеется худ некоторого оружия. Скелет рук был импортирован уже готовым, для оружия делался непосредственно в майке. Локальная ориентация джоинтов на пальцах рук соответствует той, что должна быть: скриншот
У оружия тоже есть джоинты, имеющие собственные джоинт-ориенты, отличные от мировых: скриншот
После экспорта в .object у джоинтов оружия полностью слетают джоинт-ориенты (принимают мировую ориентацию): скриншот
Это в свою очередь вызывает смещение джоинтов, дочерних по отношению к испорченным, вследствие чего анимации, сделанные для этого оружия, также воспроизводятся с косяками. При этом с пальцами на руках такого нет, всё в норме.
Наблюдался ли ранее такой баг с джоинт-ориентами при экспорте для стулкера, и можно ли как-то обойти этот момент? Быть может, дело в плагине? Майка имеет версию 2017, если что.
Заранее спасибо.

Изображение погибло, снес. Ссылка на канал остается пока в виде >>>ссылки<<<. HellRatz

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

@rex44 Фриз чего? Джоинтов? Вряд ли тут сие поможет, потому что они по дефолту не имеют трансформаций, да и это не позволяет сделать скин-кластер, к которому присоединены джоинты. Сбивается ориентация джоинтов, причём именно тех, что были созданы непосредственно в майе.
Костыльно я решил проблему: создал дубликаты модели худа и скелета, привязал их друг к другу, скопировал привязку из оригинала, на оригинальном скелете сбросил привязку. Затем на оригинальном скелете исправил джоинт-ориенты на мировые, снова привязал меш к скелету, и скопировал оригинальную привязку с дубликата опять на оригинал. Дубликаты стёр, экспортировал модель, и всё стало в норме. Вот только анимации всё равно пришлось править и заново экспортировать. 
Но почему майка некорректно экспортирует кастомные оси вращения джоинтов, созданных непосредственно в ней, я не пойму до сих пор. Никогда ранее с таким не сталкивался.
Вопрос о причине и способе исправления пока остаётся открытым.

Изображение погибло, снес. Ссылка на канал остается пока в виде >>>ссылки<<<. HellRatz

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

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

Пример https://yadi.sk/i/redNj8aq3KRLzX

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

Поможет это https://yadi.sk/i/xMKrvQPs3KRMFz

Если анимации делал до правок скелета то придется переделывать, частично.

  • Спасибо 1
Ссылка на комментарий

@vadyan Досконально прочекал весь свой худ. Оказалось, что правильная ориентация джоинтам пальцев рук была выставлена обыкновенной ротацией джоинтов. На оружии же я делал кастомные оси вращения, и, судя по всему, зря.

5 минут назад, vadyan сказал:

плагином он никак не просчитывается

Вот это я и хотел выяснить.
Значит способ, которым я исправлял ориенты костей на мировые, был единственным верным. Анимации таки пришлось адаптировать к новому скелету и бинд-позе.
Что ж, впредь буду учитывать, что плагин сталкера и сам сталкер этого не поддерживает, спасибо за информацию.

Изображение погибло, снес. Ссылка на канал остается пока в виде >>>ссылки<<<. HellRatz

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

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

Изображение погибло, снес. Ссылка на канал остается пока в виде >>>ссылки<<<. HellRatz

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

Кто работает в 2016-й версии, как у вас с Snap Together tool, работает нормально?
Пробую приснапить один объект к другому, при выборе этого инструмента указываешь первый объект и потом второй, к нему и должен приснапиться первый, и оба отмечаются указателями. У меня этого не происходит, с первого объекта указатель пропадает, получается что я завис на стадии выбора первого объекта...
Пара скринов для наглядности...

 

Скрытый текст

 

54d685de0665b74d2d96f9fee8aa9131.png

340be636a9b4462cc80211d5632aafde.png

 

 

h-264.jpg

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

Снапь по вершинам...

 

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

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

@rex44 Дык в том-то и дело, в предыдущих версиях пользовался этим инструментом, проблем не было. Снап происходил именно по нормалям а не по пойнтам (вершинам) собственно как мне и нужно было.
И кривая снапа не появляется, я постоянно нахожусь в режиме выбора первого объекта.
Попробую снести настройки...

h-264.jpg

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

@rex44 Появляется первая при выборе первого объекта, при выборе второго она исчезает и появляется на втором и никакой кривой нет...
У меня постоянно происходит выбор первого объекта, на какой ни ткни - он первый, из-за этого я второй назначить не могу.
Это конечно не критичный косяк могу стандартными манипуляторами подогнать объект.
Но просто снапом это делается в два клика...:dry:

h-264.jpg

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

:mda:Неисповедимы пути автодесков,_однако..._Бывает,_майка чудит,_если долго работаешь,_перезапуск решает проблему._Попробуй,_действительно,_снести профиль.

Изменено пользователем HellRatz
  • Согласен 1
Ссылка на комментарий

CuJIBEP, скорее всего объекты объединены в одну группу или входят в разные группы, посмотри в оутлайнере.

Изменено пользователем Werner
  • Спасибо 1
Ссылка на комментарий

Всем привет! Решил переделать в Maya hud-модели оружия, чтобы затворы и окна выброса гильз были на правой стороне. Однако при экспорте модели в .object формат получаю сообщение об ошибке Error: Can't handle multiple meshes in skeletal object. Подскажите пожалуйста, в чём именно я мог накосячить, если выводится такое сообщение. Или хотя бы назовите причины таких сообщений. На всякий случай. У меня Maya 2016 и плагин Xray Maya Tools соответствующий.

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

@ptichkin, приветствую.

1 час назад, ptichkin сказал:

Error: Can't handle multiple meshes in skeletal object.

 Данная ошибка заключается в том, что сталкерский плагин может экспортировать не более одного меша, привязанного к одному скелету. Т.е. данный худ должен быть одним единым мешем.
Чтобы избавиться от сей проблемы, нужно объединить все меши в один общий (Рабочая среда "Modeling" -> Mesh -> Combine), при этом не забыв в настройках "комбайна" поставить галочку у "Combine Skinning": скриншот
В противном случае при экспорте произойдёт похожая ошибка, только вместо "multiple meshes" будет "multiple skin clusters".

  • Спасибо 1
  • Полезно 1

Изображение погибло, снес. Ссылка на канал остается пока в виде >>>ссылки<<<. HellRatz

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

Дабы не тратить время на скрины и кучу писанины. Сделал видео по центровке обжекта и его пивота.
Похоже у биндикама нет функции отображения используемых клавиш, поэтому поясню что режим редактирования пивота включается/выключается клавишей "D".
Хотя у кого-то может быть "Insert" на цифровой клавиатуре.

Быстрая клавиша привязки по вершине - "V".
https://youtu.be/D8CNQ7bm0Pg

п.c: Вставка медиа не хочет работать...

Изменено пользователем CuJIbBEP
Добавлено BFG,

Такие вещи надо бы конечно со звуком делать. Новичок не поймёт на 90 %.

h-264.jpg

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

@CuJIbBEP Если у тебя локация огромна и так решишь тащить обжект мышою откуда нибудь из дальних далей, то ты устанешь двигать мышь и искать сетку ). Проще вбить сюда нули

16b8ace1dce6b7d01cca1a98483ab31d05039d28

и отвязанный обжект сам прыгнет в начало координат.

Потом жмёшь F и ты на обжекте.

  • Согласен 1

"Кругом зомби.....у меня кончаются патроны...."

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

@BFG записал ночью, все спят, в следующий раз постараюсь с микрофоном...
Отдалить сцену что бы всё видно было как-то проще, пара движений пальцем и перетащить с привязкой к сетке - секундное дело, даже для огромных лок.
Может всё дело в чувствительности скрола, но у меня всё быстро получается, да и привычка выработалась. :pardon:

h-264.jpg

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

Всем привет! Продолжаю переделывать модели оружия в сталкере ТЧ. При экспорте модели в .object формат получаю сообщение об ошибке Error: Can't extract shared UVs for vert 313 on mesh PolySurfaceShape13. PolySurfaceShape13 - это результат компилирования модели в один меш. Что такое vert 313 понятия не имею. Может кто-нибудь объяснить причины вывода таких сообщений о данной разновидности ошибок и подсказать, как их исправить? Заранее признателен за объективный ответ.

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

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

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

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

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

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

Войти

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

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

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