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

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

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

 

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

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

@vadyan, железка не позволяет накапливать историю, чищу постоянно...
Без комбайна экспорт проходит нормально, но с ним 100% краш.

Может это особенность сугубо моего компа, обхожу этот глюк путём двойного экспорта через официальный плагин.

Попробую проверить будет ли такая ошибка на 2012-й версии.

Спасибо за урок, но в 2010-й майке нет инструмента Convert to File Texture :dash2: .

С чем ёще может быть связан глюк с рендерингом? В перспективе всё нормально...

h-264.jpg

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

Можно немного по другому получить правильную текстуру, инструмент называется "Transfer Maps", с его помощью можно получить весь пакет текстур , Diffuze, Normal, Ambient и другие.

Найти можно если переключиться в режим Rendering , в меню сверху появиться вкладка Lighting/Shading , там и будет эта тулза.

Вот скрин. ссыль.

Для работы инструмента надо чтоб было 2 меша ,их же и надо указать в опциях как Target Meshes и Source Meshes, на один из них будет перенесена новая срендененая текстура. Найти можно в докуменах или там где укажеш в опциях.

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

@vadyan, да, запеканием можно получить текстуру, но только для террейна, в СДК её растягивает как попало...
Приемлемый вариант можно получить только путём рендеринга, так как запекание текстуры учитывает все изгибы террейна.
СДК, при наложении текстуры деталей, рассматривает террейн как плоскость, со всеми вытекающими последствиями.

Вот если бы в СДК её можно было масштабировать, то было бы здорово.
А так более оптимального варианта пока не знаю...

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

h-264.jpg

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

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

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

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

 
  • Нравится 1
Ссылка на комментарий

@Werner, и правда, очистил историю перед комбайном, скомбайнил, почистил историю и чудо свершилось!

Спасибо огромное :good2:

@vadyan, поставил 12-ю Майку, но в ней не работает Transfer Maps, вылезает ошибка:

// Error: Value is out of range: 0 // 

И больше ничего...

 

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

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

h-264.jpg

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

@vadyan, Чистил именно перед экспортом, а нюанс в том, что историю всех мешей надо чистить перед комбайном (спасибо Werner, буквально спас) и экспортом :)...
Попробовал с нуля сделать все текстуры, террейна, маску и деталей...
Первые две по твоему уроку ( за него спасибо) делаются на ура, но с текстурой деталей - засада, плющит её...
Скорее всего из-за нестандартного террейна (смесь Кордона ТЧ и ЧН), запилил её таки сегодня, полдня занимался мазохизмом в фотошопе...

h-264.jpg

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

Нужна тема по Анимированию в МАЯ? Составил тутор по основным инструментам как IK и Constrain, думаю создать тему, если считаете нужным.

 

 

Предлагаю сделать опрос в этой же теме.

Vadyan

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

Скажите, пожалуйста. Или правильней сказать - посоветуйте. Для абсолютного новичка (новичок конкретно с ИксРеем) какую версию Майя лучше использовать?

Майя 2014 нормально будет экспортировать в XRay SDK 0.7? Речь строго о статике.

Или, скажем, Майя 2012 понадежней? Или как?

Речь о данной версии инструментария https://bitbucket.org/stalker/xray_re-tools/downloads Или нужно другой?

 

Плюс еще я прочитал что XRay SDK 0.7 некорректно воспринимает софт-хард нормали, что конечно ужасно.

Я нашел фикс http://www.gameru.net/forum/index.php?showtopic=46774 на другом форуме. Его нужно использовать? Или же это давно устарело все?

 

Заранее спасибо за ответы и взаимовыручку!

 

И еще один вопрос: действительно ли нужны виртуальные диски Х и Т?

Просто можно ведь поменять 2 пути в xray_path.ltx и вроде бы плагин работает:
$server_root$ = false| false| d:\xray_developer_kit\
$local_root$ = false| false| d:\xray_developer_kit\

Или я дальше на некой отдаленной стадии столкнусь с проблемами? И виртуальная пара дисков Х и Т нужна обязатаельно?

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

nonamenopride

Maya 2014 нормально экспортирует в XRay SDK 0.7 как статику так и всё остальное кроме анимаций камеры (это может делать только пыс плагин), какую версию использовать решать тебе.

Для 2012 Maya есть плагин как для х86 так и для х64 систем виндоуз.

Плагин же для 2014 есть только для х64 так как версии Maya 2014 х86 вообще нет и не будет наверное. Разрабы уже обещают скоро сделать 2015 версию.

Вернее уже выпустили, демо версия уже достуна на сайте.

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

 

Фикс нужен для экспорта динамических объектов непосредственно в самом XRay SDK (экспорт в формат .ogf), для статики особой роли не играет.

 

По возможности вирт диски стоит юзать , так как при назначении новых текстур и погрузке из моделей они будут запрашиваться по 2 местам (X:\gamedata\textures\ и T:\ )

если прописать свои пути в файле то возможно придется переназначать текстуры, не увидит Maya или сам XRay SDK после правок моделей.

Так же если используется несколько версий XRay SDK то придется что делать - каждый раз править файл, выгружать maya и заново запускать. Зачем ? Проще же вирт пересоздал на нужном XRay SDK и испоьзуй дальше.

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

Подскадите как из кривой можно полигоны выдавить? Вроде бы можно с помощью с Extrude Edge, но его найти не могу...
Майка 2012.
Нуден такой результат:

6c8d5da84a4040b9372728a8a78bf634.png

6c3de5a005aff1786f1e2628f36ec39a.png




Всё, разобрался, почему ломало экструдированные полигоны.
Совсем забыл про привязку к сетке, можно удалить посты...

Imho, не нужно удалять. Хороший, годный success story. dc



Ещё одна маленькая неприятность...
Как быстро добавить вершину на ребро, для дальнейших манипуляций ею?
В 10-й майке использовал Split Poligon Tool, быстро и просто...
В 12- майке Interactive Split Tool такого похоже не умеет <_<

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

h-264.jpg

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

Лучше вернуть старый Split Poligon Tool http://www.youtube.com/watch?v=SiTzJS4YLIY. Новый какой-то мертворожденный инструмент, сначала вроде работает потом начинает косячить. Старый Split Poligon Tool также можно вызвать маркинг меню клавишами Shift+ПКМ в режиме выделения объекта.

  • Нравится 1
Ссылка на комментарий

И ёщё одна мелочь, которая раздражает, во время работы с большим количеством объектов...
После работы с объектом его переименовываю и даю ему имя не только в буквенном виде, но и в числовом, стандартных объектов конвертированных локаций...
Например пусть объект будет такой - l01_escape_dec_part0309.

После работы с ним его название, в Cannel Box/Layer Editor, меняется на что-нибудь вроде - polySurface и т.д.

Переименовываю обратно в l01_escape_dec_part0309 и в графе Shapes его название получается таким - l01_escape_dec_part0Shape309.
А нужно так - l01_escape_dec_part0309Shape.
Такое настраивается или это стандартный глюк Майки?

h-264.jpg

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

Майщики, хорошо знающие английский...
Подскажите как запустить этот скрипт, инструкция в архиве имеется, но никак не могу докумекать что к чему...

1) Put downloaded .py file in mayas script folder, for example,


in Windows it could be Documents/maya/scripts

2) Launch maya, open script editors python tab and input this small code:

import multiObjEdge2Nurbs
multiObjEdge2Nurbs.UI()

3) Thats all, you can save this code on shelft for quick acces.

Here is a small tutorial no how to use it:



All objects need to be exactly the same, only deformations are allowed,
otherwise script wont work properly.

 

 

Хотя всё, докумекал таки...
Команда вводится в этом окне:

0fe695fa1fea3d9a31530d7753f94bb7.jpeg



Оказывается в инструкции был прописан видеоурок по запуску скрипта, я принял его за ссылку на демонстрацию его возможностей.

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

h-264.jpg

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

2) Launch maya, open script editors python tab and input this small code: пунк так и гласит - запусти мая, открой скрипт редактор вкладку python (не мел !) а выполнить команды для запуска скрипта.

+ есть видео (в твоем же посте) где все показано подробно как запустить и что он делает.

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

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

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

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

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

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

Войти

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

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

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