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

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

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

 

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

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

ХОВАН,

Это был самый первый опыт в написании тутора:) Что первая что вторая статья(с моей точки зрения теперь) хороший бред. В плане текстуринга террейна пользуй планар мап по оси У.

Если подробнее то:

 

1. затекстурь (нанеси материалы на соотв. поверхности. Пресеты шейдеров думаю знаешь)

2. Если текстуры "поехали" потяжками, пока оставь не правь. Разнеси материалы и склей меши с одинаковыми материалами Это важно.

3. скомбинь Mtsh-Combine EditMesh-Megre Террейн

4. Выбери сам террейн накин планарную проекцию по оси У. важно. ув координаты террейна должны лежать в единичном кватрате. УВ Ни вкоем случае не должны выходить за пределы(или тайлитьсяпо УВ)

5. Смотришь на отображение текстур в окне перспективы. если репит(точнее соотношение текстур не совпадает(а оно будет) то В утилите соотв. Текстуры Place2DMap увеличиваешь репит по ув Только аккуратно. не перетайль.

важный момент. плайс2Д репитит саму текстуру в едиичном квадрате, а не УВ сет.

5. после того как отображается боле менее вменяемо - Делаешь дублкат Меша террейна.

6 Заходим в режим рендеринг(в падающем меню\, ане в окно рендера) во вкладке текстурнг нахоим трансфер текстурес. С настройками там разберешс. выбираешь целевой мешь(приемник сгенерированой текстуры) и мешь - источник. выставляешь разрешение и формат получаемой текстуры. в плагинах олжне быть активен рендер в фрмат ДДС.

7 Запекаешь это всеп дело.

8. если убил историю - То можешь смело наинать заново.:)

Если нет то тогда гут.

Дубликат меша можно удалить. Текстура уже получена. дальше меняешь в материалах все текстуры на свою запеченую. если все норм(нигде не лопухнулся, то текстура должна лечь на свое место сразу) если не ложится\, моем руки:) и проделывем заново. Накладывать ув сет придется по новой.

Далее.

9. Экспортишь мешь в формат обжект.

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

 

11. пихаем весь этот бардак в СДК разрешение в ЛЕ на хайт и смотрим как все отображается. Если шейдеры плывут(там де не надо) придется в майке переделывать все заново. Это можно ГСЦ сказать спасибо:).

Если результат устраивает - то дальше по инструкции. пихаемобъекты нужные свет павн графы. Билдим на кастоме. Что бы просчиталась маска .

 

вроде все.

 

 

 

 

что не понятно будет - спрашивай. Только ссцену приложи в след. раз. Т.к. ув раскладку не видя топологии карты трудно буит объяснить где поправить итп.

 

во наваял...:)

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

 

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

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

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

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

X-Ghost,

В Майе я делаю дорогу с помощью инструмента Split Poligon Tool. Этим инструментом просто наношу линию дороги, а потом паралельно этой линии на нужном расстоянии еще одну линию, получаются полигоны дороги.

Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет!

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

X-Ghost,

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

Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет!

Ссылка на комментарий
Kostya V, Что то я не понял.Ведь материал назначается только на обьекты или я не прав?Вроде бы раньше приходилось отделять дорогу,назначать материал а затем опять соединять...
Ссылка на комментарий

X-Ghost,

Нет, так делать не надо.

Создаешь террейн, на нем делаешь дорогу. Потом создаешь два одинаковых материала, присваиваешь им одну и ту же текстуру террейна. Потом на каждый созданный материал назначаешь шейдеры. Один материал будет с шейдерами травы, другой с шейдером асфальта.

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

Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет!

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

Ребят,кто-нибудь знает адекватный способ переноса модель SMD в Майю 2008?А то ни скрипты,ни плагин из Source SDK последнего не помогают,пишет "неизвестный формат"....Плагин включен в менеджере

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

В Майа нет никакой "панели с кадрами", то, что ты скрыл, называется таймер анимации, а над ним шкала диапазонов.

http://img855.imageshack.us/img855/4925/111zs.png

Также можно зажать [space] и выполнить аналогичную команду из hotbox'а.

 

Чёрт, что у вас с форумом, картинки невозможно вставить =/

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

Есть такая проблема: скачал с stalkerin.gameru.net плагин импорта/экспорта для мая (X-Ray Maya Tools (2011-04-03)).

У меня мая 2011 (x86 и x64) поставил плагин, пробовал импортировать модель - всё нормально, но плагин почему-то не экспортит кости.

Даже если просто подгрузить пысовскую модель и сразу же экспортнуть...

Может кто-то уже сталкивался с этим? Подскадите что делать? Просто очень бы нехотелось менять ПО, так как по работе вынужден пользоваться именно 2011.

Изменено пользователем S.t.A.l.K.e.Z
S.t.A.l.K.e.Z.gif
Ссылка на комментарий

S.t.A.l.K.e.Z, наконец-то хоть один заметил :)

http://narod.ru/disk/11841058001/maya-tool...1-temp.zip.html

В скором времени будет исправлено, заодно будет и сборка под 2012.

 

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

Добрый день товарищи.Есть небольшая проблема,когда работал над локацией "бар" из 1865 билда,то там заметно,что асфальт во дворе универмага относится не к террейну.Так вот я отделил его и присоединил к террейну,всё настроил,но мне как то нужно чтобы вершини и края террейна и асфальта были как то склеены.Пробывал edit mesh\merge,но это долго,и иногда бывает что вертексы не соединяются.Вот и хотел спросить,можно ли как то легким путем склеить края?

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

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

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

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

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

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

Войти

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

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

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