Опрос
Автор: mrX
Итак, пока что нужно только одому человеку. Подождем еще. Для начала хотелось бы выявить наиболее интерисующие темы по Max SDK.
3 февраля 2007
Автор: mrX
Итак, пока что нужно только одому человеку. Подождем еще. Для начала хотелось бы выявить наиболее интерисующие темы по Max SDK.
3 февраля 2007
Зря ты так.
Зайди в раздел "Сообщество", там ты на 2-м месте по посещаемости. Уже сегодня посетило 26 человек. К обеду будет ещё больше.
Ещё вопросы будут?..
mrX
В чем проблема?
Сообщество должно быть.
mrX
Из интересующих тем должно быть много, для начинающих совсем нужны основы: структура плагинов 3DS Max, какие бывают плагины, доступ к данных сцены, поля пользователя написание GUI для плагинов, узлы сцен, и т.д.
для более опытных более тонкие моменты.
К примеру не могу понять почему на 1 сцене нормально экспортируются текстурные координаты, на другой все съезжает :(
еще слышал что поменяли ядро 3DS Max 9 так что нужно введение про различия SDK 8.0 и 9.0.
Andrey
Код можно посмотреть?
mrX
можно конечно но его там многовfто... как выкладывать?
mrX
Ну вот смотри:
//цикл по материалам for (l = 0; l < numMtl; l++) { //обнулить максимальную текстурную координату maxTV = 0; //Проход по списку граней for (j = 0; j < nTriangles; j ++) { //получить грань tvFace = &mesh->tvFace[j]; if (numMtl >= 1) //если совпали индекс материала и индекс материала грани if (l == mesh->getFaceMtlIndex(j)) //цикл по индексам грани for(k = 0; k < 3; k++) { //получить индекс грани index = tvFace->t[k]; //поиск максимальной координаты if (mesh->tVerts[index].y > maxTV) maxTV = mesh->tVerts[index].y; } } // вот это место мне давно давно подсказал 1 хороший человек.. // тут происходит какое-то образение итекстурных координат я давно уже не смотрел сюда но вот теперь назрела проблема. // я так понимаю тут связано с поиском максимального и минимального значенгия координаты но для чего это? if (maxTV != static_cast<float>(maxTV)) { maxTV = static_cast<float>(static_cast<int>(maxTV)) + 1.0f;//округление } else { maxTV = static_cast<float>(static_cast<int>(maxTV));//округление } //цикл по материалам //for (l = 0; l < numMtl; l++) //Проход по списку граней for (j = 0; j < nTriangles; j ++) { //получить грань tvFace = &mesh->tvFace[j]; //если совпали индекс материала и индекс материала грани if (l == mesh->getFaceMtlIndex(j)) { //цикл по индексам грани for(k = 0; k < 3; k++) { //получить индекс грани index = tvFace->t[k]; //получить координату x tvert.x = mesh->tVerts[index].x; //перевернуть координату y tvert.y = maxTV - mesh->tVerts[index].y; //записать в массив tVerts[index] = tvert; } } } }
mrX
Ну и?
А зачем обрезать текстурные координаты? Я чего то не догоняю?
Andrey
К примеру не могу понять почему на 1 сцене нормально экспортируются текстурные координаты, на другой все съезжает :(
Не берусь утверждать точно, не проверял, но есть мысль. При применении масштабирования объектов меняется матрица трансформаций, возможно, что масштабирование меняет и текстурные матрицы трансформаций. Попробуй примени X-Form.
mrX
Давно еще я писал плагин здорово мне помог 1 человек он мне помог в паре строчек связанных с этим. :(
Просто если по умолчанию экспортировать то текстурные координаты съезжают. Хотя я пробовал на 1 модели.
Andrey
Просто если по умолчанию экспортировать то текстурные координаты съезжают. Хотя я пробовал на 1 модели.
Подробнее плиз.
После мастабирования текстурные координаты меняются. После применения X-Form, становятся прежними. Только что проверил. У меня тоже съехали.
mrX
>Просто если по умолчанию экспортировать то текстурные координаты съезжают. Хотя я пробовал на 1 модели.
>Подробнее плиз.
Итак была у меня модель замка 5282 полигона и 13 материалов. Если экспортировать все как есть то текстурные координаты съезжают
пришлось применить тот код что я постил в посте 6 в это случае все нормально. Беру другую модель у той опять съезжают.
>После мастабирования текстурные координаты меняются
хм неужели это дело в масштабировании?
>X-Form
а что это такое?
X-Form - модификатор такой
mrX
а это с точки зрения работы в 3D Studio Max.
Тема в архиве.