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

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

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

 

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

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

Всем привет, подскажите есть ли норм тутор по привязке меша к скелету в майке, с помощью инстрмента "paint skin weights tool" не розобрался как делать, меш корежит страшно (

Нормальная привязка получатся при обьединении меша со скелетом через инструмент "interactive skin bind", но при экспорте майка валится.

И в акторе при просмотре модели со скелетом (ненастроеным), кости скелета не на совоих местах

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

Розобрался, вопрос снят

Вот ссылка на видео демонстрирующее работу с этим инструментом

Так же хотел отметить что нигде небыло указано что в опциях надо сменить опцию переключателя "normalize weights" который должен быть в положении "interactive" (изначальное- "off")

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

Как экспортировать объект в формат для сдк ? знаю нубский вопрос но так и не разобрался , все кроме этого =))

 

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

StafGlawer, file>export(выбираешь формат x-ray object, но прежде плагин включи)

Вот теперь мой вопрос.

Возникла проблема. Я открываю списока анимаций у определённой модели(Trax Editor > Library > Insert Clip).

Появляется такой список:

ae95f67387a8d5a7879aac6c87fa4e736dac35108241205.jpg

Вопрос: Как пролистать этот список подальше? Он просто не весь на экране показался.

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

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

Такой вопрос: как в Майке отзеркалить модель, точнее оружие, с правостороннего сделать левосторонным? Эсть может какойто тутор?

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

[KDit], можно попробовать отзеркалить геометрию.

Инструмент mesh>mirror geometry(только настрой его, т.е. по какой оси именно надо отзеркаливать).

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

Скажите, как правильно экмпортировать динамическую модель?

Есть модель и скелет сталкера, всё это подгружено и уже настроено в Maya.

Делаю Export selection > X-Ray object.(Maya 2012)

После этого загружаю модель в AE, и смотрю что вкладки с костями нет вообще.

Что я не так делаю?

Изменено пользователем zoidberg123456789
Ссылка на комментарий
zoidberg123456789, сначала модель должна быть привязана к скелету! Затем выделяеш модель (не скелет) и выбираешь экспорт: X-Ray skeletal object (xrayMayaTools) или XRay_Skin_Export (плагины что с SDK идут)...
Ссылка на комментарий

[KDit], привязка, это ведь этот инструмент:

Skin>Bind Skin>Smooth Bind?

Если так, то вот лог:

can't find any mesh to export

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

В проэкте 2 (или больше) мешей , сначало обьедени их , потом соедени со скелетом, после настрой привязку, и аж теперь экспорт модели.

Изменено пользователем vadyan
Ссылка на комментарий
TheDeath, что такое "кейфрейм" знаешь? Грубо говоря, это кадр, в котором значение аттрибута ты задаешь вручную, а не оно рассчитывается автоматически. Если опция "auto keyframe" выключена, то тебе придется после выставления значения аттрибута в кадре нажать <Set Key> для того, чтобы программа приняла эту позу в данном кадре за "ключевую" (если не нажмешь - она тупо сбросится). Если же опция включена, то тебе этого жать не придется, любое изменение аттрибута в данном кадре программа будет принимать за установление ключа для него. Опция крайне показана ко включению в случае склероза. Изменено пользователем Sin!
Ссылка на комментарий

Отлично, спасибо за совет! :good2:

И почему так не пишут в учебниках??

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

Плиз дайте ссыль на рабочую Maya 8.5 нигде не могу найти(((

 

Строгое предупреждение от модератора Cyclone
Сходи на официальный сайт Autodesk. Варез тут запрещён.

Aligator_M.gif

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

Кстати, когда анимируешь и используешь две точки опоры на одном предмете, то при переключении с одной точки на другую возникает сдвиг анимации. Необходимо, выбрав новую точку опоры, поставить ключевой кадр сразу после кадра, в котором испрользовалась старая точка. Так и должно быть?

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

Услышал об интерестной штуке в Майке, можно делать привязку, нпс например, с одной стороны, а потом привязку взять и отзеркалить на вторую сторону, как такое провернуть?

 

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

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

У самого есть вопрос. Сам я не так давно начал Майку ковырять, так вот в Максе можно было спокойно сбросить pivot (тот что отвечает за поворот - rotate) что у кости, что у модели. Так вот в Майке pivot у кости располагается чёрт знает как, и я не могу найти, где же сбросить поворот pivot'a в ноль.

PS: к моделям тоже относится, но главное сейчас это кости.

ТЧ 1.0004. SAP и Trans mod

github

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

Может кто помочь?

В Maya 8.5 я выделяю hud-модель оружия из ТЧ и выбираю Mesh/Mirror Geometry, чтобы отзеркалить модель, затем выделяю снова эту отзеркаленную hud-модель и выбираю Mesh/Extract для разбиения модели на отдельные части, чтобы модель была не едина, а отдельно оружие и руки (в т.ч. обойма, глушитель и т.д.), а также, чтобы легко удалить лишние руки, левозатворное оружие и легко анимировать, выделяя части по отдельности, как отдельный объект.

Разумеется при выборе Mesh/Extract, hud-модель разбивается из единой на определённое количество частей polySurface, что делает эту модель не правильной по свой структуре и в связи с этим Maya не даёт её экспортировать, а просто вылетает с ошибкой, а чтобы свести эти все части обратно в единую модель у меня не выходит, так как команда Mesh/Combine, всего лишь связывает все эти части, добавляя к ним элемент transform, а не сводит их в единую модель.

Вопрос 1: Можно ли свести разбитую на части hud-модель обратно в единую?

 

Есть ещё проблема с зависимостью отзеркаленной модели от оригинальной, тоесть если например двигать кость обоймы влево/вправо или поворачивать, то отзеркаленная модель движется противоположно оригинальной.

Вопрос 2: Можно ли убрать зависимость отзеркальной модели от оригинальной?

 

Первый вопрос снят полностью, додумался с помощью статьи: Maya. Создание HUD модели оружия с использованием авторских скриптов (благодарю за наводку пользователя Werner). Без авторских скриптов к сожалению не обойтись, но они выручают по полной, главное понять суть и всё станет ясно и просто.

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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