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

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

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

 

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

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

В таком случае 2012 SP2( или hf 4 ) лучший выбор, чем забагованная 2011.

 

ЗЫ

в 2013 (на самом деле в SUP2012, ну да неважно) ввели новый, годный метод скиннинга. но плагинов под эту версию не будет, ибо нефиг.

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

Доброго времени суток, заметил такую ерунду... Делаю раскладку UV:

80425171ea41f7f68ec9c68d2e60d281.png

И после экспорта и импорта вижу что раскладка получается побитая... <_<

5e2d409d108a3c966580414ffd7b6691.png

Кто нибудь знает как с этим бороться?

Использую Майку 2010х86 и плагин X-Ray Maya Tools (2011oct01)

h-264.jpg

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

break,Швы лежат как было сделано:

fc76f04632c582074f53091cfb8b0ee5.png

 

Но после экспорта плагином Бардака (X-Ray Maya Tools) появляются дополнительные швы, длинной в один полигон. Как отростки от основных линия разреза:

2cc5e5daab8c61e82f04d35b6758cf98.png

 

Если экспортировать официальным плагином, то развёртку разбивает на куски совершенно... и весит модель в двое больше, чем экспортированная через X-Ray Maya Tools:

521249e0943e2723b427f15bfc32fa1e.png

h-264.jpg

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

Если развертка не побита, то в чем же тогда проблема? Тебе должно быть совершенно пофиг на то, как будет выглядеть изнанка модели после экспорта.

 

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

break, На первом скрине показано как должно быть...

А получается как на втором, то бишь побитая... Так то конечно пофиг, но если этого косяка избежать то модель будет "весить" поменьше, возможно на треть....

Это лод дерева и их на карте много, думаю это важно.

На третьем скрине экспорт плагином ГСК, такой результат вообще не приемлим.

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

h-264.jpg

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

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

По скринам видно только что шов уехал а вот как сидит не видно.

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

Может кто знает как исправить глюк экспорта новой модели с костями в сдк посредством маи 2012.

Смещаются кости что бы не делал, мая 2010 с офф плагинами экспортит нормально.

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

vadyan, Глянь на последний скрин, это экспорт официальным плагином ГСК, там даже развёртки нет...

Каждый полигон на UV сам по себе...

Если модель экспортнуть плагином Бардака, то модель весит в двое меньше и как видно UV в лучшем состоянии.

Но как ни крути у меня так и неполучилось получить неразбитую развёртку (Первый скрин)...

 

Переделываю растительность Генераторов, как и всё остальное на нём....

Потому нечего показывать, там UV раскидана как попало...

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

На первом скрине именно задуманные линии разреза, при экспорте образуются новые, нежелательные отрезки...

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

h-264.jpg

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

Товарищ

break, нельзя ли быть повежливее?

 

Так как дело касается Майи, то напишу сюда.. Нужна помощь в написании скрипта на MEL. За подробностями пишите в ЛС.

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

break,

"Что бы было ...", если уж по делу написать нечего, то лучше вообще ничего не писать...

 

Опытным путём проверено, что колличество вершин и UV координат влияет на вес обжекта, как число полигонов и прочего...

Если это дерево, то число таких излишеств необходимо свести к минимуму, так как на локации их полно.

Ладно, пусть будет так как получается... :dash2:

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

h-264.jpg

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

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

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

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

Ссылка на комментарий
Опытным путём проверено, что колличество вершин и UV координат влияет на вес обжекта, как число полигонов и прочего...

Если это дерево, то число таких излишеств необходимо свести к минимуму, так как на локации их полно.

Чёрт, этот человек меня убивает.

 

1. Как ты знаешь, все компоненты карты обрабатывает xrLC. Он оптимизирует и сетку, и развертку так, как ему надо. Вывод - совершенно по барабану, сколько весит твоя модель и как выглядит её развертка в майе, тем более после процедуры "импорт-экспорт-импорт".

2. Если очень уж нервирует отображение границ текстур, то можно и отключить их.

 

И невинный вопрос: ты что, хранишь сцены в object?

 

Добавлено через 3 мин.:

Если модель экспортнуть плагином Бардака, то модель весит в двое меньше и как видно UV в лучшем состоянии.

Размер объекта получается меньше из-за того, что бардак пишет старым методом (тч), а пыс - новым (зп).

 

Добавлено:

Меньше - не значит лучше.

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

break, С этого и надо было начинать, я то не знал что СДК оптимизирует обжекты как ему хочется. Об этом нигде не читал.

Все объекты у меня в object в папке rawdata, в общем как обычно.

Конечно, всю сцену кидаю в Майку, а потом уже экспортирую объекты... А как лучше? Другого способа не знаю :huh:

h-264.jpg

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

Проверил импорт экпорт деревьев пыс, ниче не изенилось абсолютно, ни uv ни швы , ПС на скрине вроде должны быть видны швы не uv а эджей, проверяй геометрию , скорее всего лишнеее намоделил или не то понасшивал, и чистить историю работы с обьектом не мешает.

 

Может кто то знает как решить проблемку с костями немного выше пост.

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

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

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

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

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

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

Войти

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

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

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