После прочитаного нельзя не согласится с озвученым мнением одного человека:
Цитата
группа импотентов обсуждает как лучше засадить
Trollz0r
28.03.2016, 17:21
Нашёл в книжке закладку сто американских даларов. Отдам тому, кто починит экспорт сглаживания в майском плагине бардака. Переведу на карту виза, мастеркард, американ експресс в даларах или национальной валюте по курсу вчерашнего дня.
abramcumner
28.03.2016, 19:20
Цитата(RedPython @ 28.03.2016, 17:16)
починит экспорт сглаживания в майском плагине бардака.
Можешь рассказать, что за беда со сглаживанием до сих пор? Уже были и плагины от гсц, и еще чьи-то для майки были. Компиляторы с фиксами сглаживания, сдк с фиксами сглаживания. Уже должно было сгладиться все, что только можно.
Предлагаю обмен экспорта на 2 домика, 2 елки и какой-нибудь трактор.
Trollz0r
28.03.2016, 20:01
Беда со сглаживанием начинается в не таком уж близком сейчас 2010 году. http://www.gameru.net/forum/index.php?show...p;#entry1074071 Суть: в майе делаю цилиндр, экспортирую в СДК ЧН или ЗП, компилирую, в игре получается гранёный стакан. С флагом _nosmg получается круглый в большинстве случаев, но теряются заботливо расставленные в майе soft/hard edge's, и геометрия выглядит как в ТЧ: где-то всё круглое, а где-то непонятным образом добавляются резкие рёбра (чаще у земли). Шутки шутками, а я уже не верю, что кто-то что-то когда-то сделает для сабжа :/
Цитата(abramcumner @ 28.03.2016, 17:15)
Предлагаю обмен экспорта на 2 домика, 2 елки и какой-нибудь трактор.
Устраивает. С тебя ТЗ, рефы на домики, фото ёлок, а трактор я сам подберу, какой приглянётся. Осталось определиться с условиями публикации материалов и правами на них.
RayTwitty
28.03.2016, 20:07
RedPython, а разве в ЗП эту проблему не пофиксили? В ТЧ да, заметил, что после компиляции все группы сглаживания слетают и вместо них устанавливаются какие-то автосгенерированные СДК\компилем. Влиять на это удавалось разве что настройкой "Normal smooth angle".
jamakasi
28.03.2016, 20:16
До конца не понимаю что тут за магия происходит(довольно давно сталкивался с плюсами да еще и с кучей вызовов апи майки). На всякий случай для любопытных кусочек кода экспортера.
maya_export_tools.cxx
// FIXME: consider using 3ds Max smoothing groups.
temp_edge* temp_edges = new temp_edge[unsigned(mesh_fn.numEdges() & INT_MAX)]; for (MItMeshEdge it(mesh_fn.object()); !it.isDone(); it.next()) { if (it.isSmooth()) { it.getConnectedFaces(connected, &status); CHECK_MSTATUS(status); unsigned n = connected.length(); if (n <= 2) { temp_edge& edge = temp_edges[it.index()]; while (n) { --n; edge.faces[n] = uint32_t(connected[n] & INT_MAX); } } } }
unsigned num_faces = unsigned(mesh_fn.numPolygons() & INT_MAX); temp_face* temp_faces = new temp_face[num_faces]; for (MItMeshPolygon it(mesh_fn.object()); !it.isDone(); it.next()) { status = it.getEdges(connected); CHECK_MSTATUS(status); unsigned n = connected.length(); if (n != 3) { msg("can't build smoothing groups"); delete[] temp_edges; delete[] temp_faces; return MS::kInvalidParameter; } temp_face& face = temp_faces[it.index(&status)]; CHECK_MSTATUS(status); while (n) { --n; face.edges[n] = uint32_t(connected[n] & INT_MAX); } }
sgroups.assign(num_faces, EMESH_NO_SG); std::vector<uint32_t> adjacents; adjacents.reserve(512); uint32_t sgroup = 0; for (uint_fast32_t base_idx = num_faces; base_idx != 0;) { if (sgroups[--base_idx] != EMESH_NO_SG) continue; bool new_sgroup = false; for (uint_fast32_t face_idx = base_idx;;) { const temp_face& face = temp_faces[face_idx]; for (uint_fast32_t i = 3; i != 0;) { temp_edge& edge = temp_edges[face.edges[--i]]; if (edge.faces[0] == UINT32_MAX || edge.faces[1] == UINT32_MAX) continue; if (!new_sgroup) { new_sgroup = true; sgroups[face_idx] = sgroup; } uint32_t adj_face_idx = edge.faces[0] == face_idx ? edge.faces[1] : edge.faces[0]; if (sgroups[adj_face_idx] == EMESH_NO_SG) { adjacents.push_back(adj_face_idx); sgroups[adj_face_idx] = sgroup; } } if (adjacents.empty()) break; face_idx = adjacents.back(); adjacents.pop_back(); } if (new_sgroup) ++sgroup; }
delete[] temp_edges; delete[] temp_faces;
return status; }
Я не понимаю зачем надо было так много раз сносить группы сглаживания. Просто гляньте сколько раз идет присвоение EMESH_NO_SG. Похоже что именно поэтому и теряются группы.
abramcumner
28.03.2016, 22:00
Цитата(jamakasi @ 28.03.2016, 20:11)
Я не понимаю зачем надо было так много раз сносить группы сглаживания. Просто гляньте сколько раз идет присвоение EMESH_NO_SG. Похоже что именно поэтому и теряются группы.
Упоминаются 3 раза. Собственно присвоение(оно же инициализация) один раз. Потом идут сравнения.
Цитата(RedPython @ 28.03.2016, 19:56)
Шутки шутками, а я уже не верю, что кто-то что-то когда-то сделает для сабжа :/
Никаких шуток. Будут нужны: моделька в майке, описание, как увидеть глюк человеку, которому медведь наступил на глаз, инструкции как подключить плагин, как сохранять в майке и тому подобное.
Навигация. Управление во вьюпорте осуществляется альтом и тремя кнопками мыши. - облёт камерой: Alt+LMB - наезд/откат камеры (доллинг): Alt+RMB - перемещение камеры влево/вправо/вверх/вниз (трекинг): Alt+MMB - масштабирование колёсиком мыши - увеличение выделенной области автоматом при зажатых Alt+Ctrl Клавишей f можно отцентироваться на выделенном объекте. Если нажать её, не выделив ничего, то кадрируются все объекты сцены (т.е. если сцена очень большая, то можно улететь за пределы плоскостей отсечки и увидеть ничего вместо нужного). Клавиша a делает то же самое для всех объектов сцены.
Манипуляторы. Клавиши, которые удобно запомнить сразу, чтобы не тыкаться по кнопкам панельки слева: - q (выделение) - w (перемещение) - e (вращение) - r (масштабирование)
ВАЖНО! Работоспособность горячих клавиш зависит от раскладки. На русской раскладке хоткеи не работают!
Режимы отображения объектов. - каркас или, как мы неправильно говорим, сетка (wireframe): клавиша 4 - shaded mode (хз как по-русски): клавиша 5 - то же, но с текстурами: клавиша 6 Клавиши 1, 2 и 3 назначены на разные ступени детализации. Клавиша 7 включает все источники света и отключает стандартное освещение. Т.е. если в сцене нет ИС, то всё будет чёрным.
Думаю, грузить тебя практикой по создания кубиков не имеет смысла.
Сцена с примитивами, на которой после компиляции сразу видно, что так, а что не так: http://rghost.ru/private/7f5frWcP6/b2ec6b0...bc3e3366c97abbc Прямой совместимости сцен нет, поэтому нужно открывать сцену, созданную в Майе2016, именно этой версией. Иначе вылезут ошибки и нужно будет подчищать незнакомые предыдущей версии ноды. Текстурки должны подтянуться с диска T:\ Шейдеры могут поменяться, т.к. мой shaders.xr уже менялся, и список шейдеров в нём не совпадает с оригиналом. В общем, в ЛЕ будет видно, если что не так.
Перед экспортом в формат СДК нужно триангулировать геометрию: Shift+RMB -> Triangulate. Плагин бардака не делает этого автоматически, и это хорошо, т.к. принуждает контролировать возможные ошибки программы (перехлёсты рёбер, чрезмерно длинные треугольники и т.п.) Если экспортируем каждый меш по отдельности, то ничего больше делать не нужно. Если нужно объединить несколько мешей в один объект, то выполняем Shift+RMB -> Combine, затем триангулируем, затем экспортируем: File -> Export selection