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

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

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

 

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

Ссылка на комментарий
hyperShade -objects "";

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

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

 

 


hyperShade -objects "";

А как выделить полики если материалы по названию идеинтичны, но отличаются по конечному числовому значению?

Типа "prop_fake_kollision_Mбла бла бла"....



И их слишком много, что бы прописывать их в MEL?

h-264.jpg

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

Break, точно! А я тильду "~" вставляю... Ну не программист... :dash3:

Хороший способ удаления смеси prop_fake_kollision`а из билдовских локаций...

Может подскажешь сайты, где можно почитать о скриптах Майки новичкам? Спасибо!

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

h-264.jpg

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

Выделяются все ноды с данным именем, если что-то не выделяется - проверь, существует ли это "что-то".

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

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

Break, конечно, про волшебную клавишу F знаю и по одному материалу полигоны нахожу...
Но подобных материалов множество, по одному из них выделять полигоны - тягомотина, с которой без литру крепкого не справиться, за один вечер... :blink:
О таком количестве свободного времени могу только мечтать...

d7890071196a37401104fb9341393974.png
5bb8a481c78550ba5d583d10ad4ebfd4.png

 

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

h-264.jpg

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

Тупой вопрос, но так пробовал?

select -r "prop_fake_kollison_M*" ;
hyperShade -objects "" ;
У меня нет 2010, чтобы проверить, как это работало в ней. Изменено пользователем break
  • Нравится 3
Ссылка на комментарий

Break, о да! Если бы в контекстном меню hypershade была такая функция, то было бы шикарно... :good2:

210f560b5e86791e064d3c1a92d192f2.png

 

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

h-264.jpg

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

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

 

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

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

Подскажите пожалуйста, как правильно импортировать модель оружия в Maya, а потом и анимацию к нему... Раньше, когда оружие переносил из CSS в Сталкер и потом, загружая в Maya, никаких проблем не было. По просьбе знакомого, решил сделать анимации для оружия, перенесенного из ЗП в ТЧ... Загрузил модель и анимацию в майе, а руки и оружие деформировались "наружу". И до сих исправить это не могу.

GiVcHiK.gif

 

 

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

Установил Maya 11. Решил попробовать изготовить скайкуб.

В статье на сталкерин есть такое:

Кликаем пункт меню (сверху) Window => Rendering Editors => Multilister

Так вот  Window => Rendering Editors у меня есть, а Multilister как корова языком.

У меня неправильная Майя, или не хватает каких-то плагинов?

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

На сколько я знаю, мультилистер работал только до 2010 версии, в 2011 убрали за ненадобностью, так как те-же самые функции исполняются гипершейдом. Вроде по тому же адресу находится: Window => Rendering Editors.

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

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

Приветствую всех.
Проблема образовалась.Прошу помощи.
Вырезал проход в стене под дверь. С помощью инструмента Edit Mesh\Split Polygon Tool
сделал очертания прохода, удалил ненужные полигоны, сделал Mesh\Triangulate
образовавшихся четырёхугольников, сделал Mesh\Cleanup объекта, почистил историю, но
при экспорте в X-Ray object Maya пишет не могу создать файл.

 

file -f -new;


// untitled //
commandPort -securityWarning -name commandportDefault;
// mental ray for Maya 10.0
// mental ray for Maya: using startup file C:/Program Files/Autodesk/Maya2009/mentalray/maya.rayrc
// mental ray for Maya: setup
// mental ray for Maya: initialize
// mental ray for Maya: using 1 license
// mental ray for Maya: register extensions
// mental ray Node Factory: loaded
// mental ray for Maya: successfully registered
// mental ray for Maya: loading startup file: C:/Program Files/Autodesk/Maya2009/mentalray/maya.rayrc
// parsing C:/Program Files/Autodesk/Maya2009/mentalray/include/AdskShaderSDKWrappers.mi
// generating Maya nodes...
// parsing C:/Program Files/Autodesk/Maya2009/mentalray/include/architectural.mi
// loading C:/Program Files/Autodesk/Maya2009/mentalray/lib/architectural.dll
// generating Maya nodes...
// parsing C:/Program Files/Autodesk/Maya2009/mentalray/include/base.mi
// loading C:/Program Files/Autodesk/Maya2009/mentalray/lib/base.dll
// generating Maya nodes...
// parsing C:/Program Files/Autodesk/Maya2009/mentalray/include/contour.mi
// loading C:/Program Files/Autodesk/Maya2009/mentalray/lib/contour.dll
// generating Maya nodes...
// parsing C:/Program Files/Autodesk/Maya2009/mentalray/include/paint.mi
// loading C:/Program Files/Autodesk/Maya2009/mentalray/lib/paint.dll
// generating Maya nodes...
// parsing C:/Program Files/Autodesk/Maya2009/mentalray/include/physics.mi
// loading C:/Program Files/Autodesk/Maya2009/mentalray/lib/physics.dll
// generating Maya nodes...
// parsing C:/Program Files/Autodesk/Maya2009/mentalray/include/production.mi
// loading C:/Program Files/Autodesk/Maya2009/mentalray/lib/production.dll
// generating Maya nodes...
// parsing C:/Program Files/Autodesk/Maya2009/mentalray/include/subsurface.mi
// loading C:/Program Files/Autodesk/Maya2009/mentalray/lib/subsurface.dll
// generating Maya nodes...
// parsing C:/Program Files/Autodesk/Maya2009/mentalray/include/surfaceSampler.mi
// loading C:/Program Files/Autodesk/Maya2009/mentalray/lib/surfaceSampler.dll
// generating Maya nodes...
updateRendererUI;
updateRendererUI;
file -f -options "v=0;p=17" -typ "mayaBinary" -o "C:/Documents and Settings/Admin/Мои документы/maya/projects/default/scenes/war_laba/war_laba_vhod_mix.mb";addRecentFile("C:/Documents and Settings/Admin/Мои документы/maya/projects/default/scenes/war_laba/war_laba_vhod_mix.mb", "mayaBinary");
requires "xrayMayaTools" "Oct 1 2011";
requires "stereoCamera" "10.0";
// File read in 0 seconds.
select -r s_0floor ;
select -r model5 ;
move -r 0 0 2.597028 -dph true ;
select -r model4 ;
move -r 4.580753 0 0 -dph true ;
select -r s_0floor ;
select -r s_0floor ;
file -op "" -typ "X-Ray object" -pr -ea "C:/Documents and Settings/Admin/Мои документы/maya/projects/default/scenes/1111";
// Error: Could not save file. //

 

935b7f0b77.jpg

 

 

 

 

 

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

@slayer_kch, ну неужели не видишь, что косяк в геометрии? В левом нижнем углу, например, сразу видно полигон с четырьмя вершинами. 

d3380271dc.png

Вот такие эджи удали вместе с вертексами, в эдит_меше есть специальная команда, заново триангулируй. И постоянно проверяй клинапом, настройки его на сталкерине есть.

 



Да вот ещё. Чего латиница в путях делает? Может из за этого проблема?

  • Нравится 1

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

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

Добавлю, что нужно:

а) постоянно подчищать за собой срач _до_ (в твоем случае с дверью) и _после_ работы - это хороший стиль;

б) триангулировать меши в _последнюю_ очередь - как несложно понять, после клинапа триангулированная геометрия скорее всего перестанет быть таковой.



 

 


кириллица
*fixed

ЗЫ чтобы удалять ребра вместе с вершинами, рекомендую использовать тулзу delete the selected vertices/edges из bonus tools (с названием могу ошибаться, читайте .pdf-инструкцию).



ЗЗЫ универсальных настроек клинапа нет, если не понимаете, как настраивать - не используйте его вообще, иначе есть неплохие шансы получить кучу дыр в неожиданных местах.

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

Доброго времени суток всем. Ребят. Ткните пожалуйста моськой в ссылку на рабочие плагины под 2012 версию майки. Сам больше по максу... Потому не знаю где взять на майку. 

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

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

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

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

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

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

Войти

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

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

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