Итак, я создал модель в Ogre3D, и эта модель состоит из нескольких треугольников произвольного вращения и положения. Я хотел бы «развернуть» модель, как и многие программы моделирования, чтобы все треугольники были отображены на 2d (x, y), но размеры треугольников поддерживаются. Это для нанесения наклеек. Причина того, что размеры треугольника должны поддерживаться таким образом, чтобы при нанесении текстуры не было растяжения.Развертывание многоугольника из 3d-2d-пространства (с использованием треугольников) для координат текстуры
Это направление я думал идти в но у меня возникли проблемы с визуализацией его и достижения правильных алгоритмов:
//Verticies will have a converted bool;
func(triangle x):
for each of x's vertices:
map to x,y coordinates if not converted;
check other triangles for common vertex if so call func(common_tri);
После этого возвращается будет переделанный вариант из всех треугольников так, что все они разворачиваются и размещаются на текстуре, где у меня возникают проблемы с отображением в пространство x, y. Я не уверен, как получить треугольник в трехмерном пространстве до 2d-пространства, чтобы он сохранял все свои атрибуты (например, переходя от углового вида к перпендикулярному виду поверхности). Любая помощь будет принята с большой благодарностью.
Если никто не может вам ответить, вам может потребоваться проверить источник блендера, uv-распаковка должна быть * где-то там. https://svn.blender.org/svnroot/bf-blender/trunk/blender/ –
Ну, я смотрел на такие действия в XSI, но никто из них даже не достиг того, что я пытался сделать. Они обернутся, и я хотел бы, чтобы он просто был плоский на материале. Спасибо за предложение. –
Я не уверен, что вы делаете предположение, что данная вершина отображает единственную точку в xy. Для модели, которая является топологически сферой, безусловно, ее отображение в плоскость таким образом невозможно (например, рассмотрим простой куб). Соответственно, если вы хотите избежать растяжения, то даже три стороны куба в одной вершине не могут все отобразить, что эта общая вершина на плоскости. Поэтому я думаю, что вам либо придется обрабатывать каждый треугольник отдельно, либо растягиваться, а в последнем случае по крайней мере некоторые вершины потребуют нескольких отображений. – Keith