Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Монетизация разработки
GAMEINATOR forums > S.T.A.L.K.E.R. > Бар "Тайны Зоны"
Страницы: 1, 2
Jesh
После прочитаного нельзя не согласится с озвученым мнением одного человека:
Цитата
группа импотентов обсуждает как лучше засадить
Trollz0r
Нашёл в книжке закладку сто американских даларов. Отдам тому, кто починит экспорт сглаживания в майском плагине бардака. Переведу на карту виза, мастеркард, американ експресс в даларах или национальной валюте по курсу вчерашнего дня.
abramcumner
Цитата(RedPython @ 28.03.2016, 17:16) *
починит экспорт сглаживания в майском плагине бардака.

Можешь рассказать, что за беда со сглаживанием до сих пор? Уже были и плагины от гсц, и еще чьи-то для майки были. Компиляторы с фиксами сглаживания, сдк с фиксами сглаживания. Уже должно было сгладиться все, что только можно.

Предлагаю обмен экспорта на 2 домика, 2 елки и какой-нибудь трактор.
Trollz0r
Беда со сглаживанием начинается в не таком уж близком сейчас 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
RedPython, а разве в ЗП эту проблему не пофиксили? В ТЧ да, заметил, что после компиляции все группы сглаживания слетают и вместо них устанавливаются какие-то автосгенерированные СДК\компилем. Влиять на это удавалось разве что настройкой "Normal smooth angle".
jamakasi
До конца не понимаю что тут за магия происходит(довольно давно сталкивался с плюсами да еще и с кучей вызовов апи майки). На всякий случай для любопытных кусочек кода экспортера.
maya_export_tools.cxx
// FIXME: consider using 3ds Max smoothing groups.
CODE
static MStatus extract_smoothing_groups(MFnMesh& mesh_fn, std::vector<uint32_t>& sgroups)
{
MStatus status = MS::kSuccess;

MIntArray connected;

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
Цитата(jamakasi @ 28.03.2016, 20:11) *
Я не понимаю зачем надо было так много раз сносить группы сглаживания. Просто гляньте сколько раз идет присвоение EMESH_NO_SG. Похоже что именно поэтому и теряются группы.

Упоминаются 3 раза. Собственно присвоение(оно же инициализация) один раз. Потом идут сравнения.

Цитата(RedPython @ 28.03.2016, 19:56) *
Шутки шутками, а я уже не верю, что кто-то что-то когда-то сделает для сабжа :/

Никаких шуток. Будут нужны: моделька в майке, описание, как увидеть глюк человеку, которому медведь наступил на глаз, инструкции как подключить плагин, как сохранять в майке и тому подобное.
Trollz0r
Хорошо, давай с самого начала и по порядку.

1. Сразу скачай студенеческую Майю 2016: http://www.autodesk.com/education/free-software/maya
(нужно будет завести единый автостоловский аккаунт)
Различий с продаваемой версией нет, кроме как в лицензии и выдаче предупреждения при каждом сохранении. Когда выберешь на сайте нужную версию, на емейл придут данные по активации, скопипастишь и не будет никаких проблем в обновлением-переустановками в будущем.
2. СДК теперь не идёт в комплекте с майей, его нужно качать с сайта: https://apps.autodesk.com/MAYA/en/Detail/In...en&os=Win64
3. Установка плагинов: http://xray-engine.org/index.php?title=May...%B0%D0%BC%D0%B8
Краткая вводная по майе

Навигация.
Управление во вьюпорте осуществляется альтом и тремя кнопками мыши.
- облёт камерой: Alt+LMB
- наезд/откат камеры (доллинг): Alt+RMB
- перемещение камеры влево/вправо/вверх/вниз (трекинг): Alt+MMB
- масштабирование колёсиком мыши
- увеличение выделенной области автоматом при зажатых Alt+Ctrl
Клавишей f можно отцентироваться на выделенном объекте. Если нажать её, не выделив ничего, то кадрируются все объекты сцены (т.е. если сцена очень большая, то можно улететь за пределы плоскостей отсечки и увидеть ничего вместо нужного). Клавиша a делает то же самое для всех объектов сцены.

Манипуляторы.
Клавиши, которые удобно запомнить сразу, чтобы не тыкаться по кнопкам панельки слева:
- q (выделение)
- w (перемещение)
- e (вращение)
- r (масштабирование)

ВАЖНО! Работоспособность горячих клавиш зависит от раскладки. На русской раскладке хоткеи не работают!

Режимы отображения объектов.
- каркас или, как мы неправильно говорим, сетка (wireframe): клавиша 4
- shaded mode (хз как по-русски): клавиша 5
- то же, но с текстурами: клавиша 6
Клавиши 1, 2 и 3 назначены на разные ступени детализации.
Клавиша 7 включает все источники света и отключает стандартное освещение. Т.е. если в сцене нет ИС, то всё будет чёрным.

Самые важные окна.
Единственное, что нужно в самом начале -- это Outliner, он показывает структуру сцены: https://knowledge.autodesk.com/support/maya...C47406-htm.html

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

Сцена с примитивами, на которой после компиляции сразу видно, что так, а что не так: http://rghost.ru/private/7f5frWcP6/b2ec6b0...bc3e3366c97abbc
Прямой совместимости сцен нет, поэтому нужно открывать сцену, созданную в Майе2016, именно этой версией. Иначе вылезут ошибки и нужно будет подчищать незнакомые предыдущей версии ноды.
Текстурки должны подтянуться с диска T:\
Шейдеры могут поменяться, т.к. мой shaders.xr уже менялся, и список шейдеров в нём не совпадает с оригиналом. В общем, в ЛЕ будет видно, если что не так.

Перед экспортом в формат СДК нужно триангулировать геометрию: Shift+RMB -> Triangulate. Плагин бардака не делает этого автоматически, и это хорошо, т.к. принуждает контролировать возможные ошибки программы (перехлёсты рёбер, чрезмерно длинные треугольники и т.п.)
Если экспортируем каждый меш по отдельности, то ничего больше делать не нужно. Если нужно объединить несколько мешей в один объект, то выполняем Shift+RMB -> Combine, затем триангулируем, затем экспортируем: File -> Export selection

Экспортированный обжект в составе уровня для ЛЕ: http://rghost.ru/private/8DmDtlTSF/eb07471...8ee9c573a415ed1

Компилировать без ключа -nosmg, и, пока глаз не намётан, лучше на высоких настройках.

Скомпилированные под ЧН сцены прилагаю. Скрины делать не буду, всё равно на них ничего не видно. Достаточно запустить одну карту за другой и сравнить их и то, что было в майкиной сцене.
Стандарт: http://rghost.ru/private/8pVhLcGzx/3ebb8f3...bb9bb49aa91db01
С ключом -nosmg: http://rghost.ru/private/7FyzFWWBX/3d64f7a...0cd0471f017717c

RayTwitty, пофиксили. Бардак свой плагин не пофиксил.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.