Импорт SVG как UV развертки

Главная Форумы Python и дополнения Импорт SVG как UV развертки

Просмотр 6 сообщений - с 1 по 6 (из 6 всего)
  • Автор
    Сообщения
  • #7184
    Spirit412
    Участник

    Может кто уже и написал это, но я не нашел
    Есть экспорт UV развертки в векторный SVG файл. А можно ли на основе векторного файла, через импорт, сделать UV развертку.

    Например.
    Мы имеем развертку. Экспортируем её в svg. Корректируем (корректируем положение точек) в инкспейсе. Сохраняем и импортируем с заменой имеющейся.
    Можно ли такое вообще провернуть через питон?

    #7186
    Артем Слаква
    Хранитель

    Кажись так делать нельзя средствами блендера. Только скрипт (возможно кто-то уже подобный аддон написал, но я не слышал).

    А в чем проблема? Работать в InScape настолько удобнее нежели в Blender?

    #7193
    Spirit412
    Участник

    Да. Как минимум можно и размеры между точками замерить и кучу всего.
    А-то постоянная проблема. Знаю что у меня тоненький, скругленный выступ на объекте равен 2мм. В эти 2мм вписано примерно 8 полигонов и дальше идет большой полигон. Вся модель сделана с точностью до сотых мм. А UV раскладывается с искаженными пропорциями.
    Я конечно потом правлю. Подгружаю в текстуры крой, и стараюсь всё выровнять по нему. Но куда проще это в инкспейса или иллюстраторе.
    Так вот вопрос — можно ли? Я так понимаю, svg генерится по данным координат точек и данным по граням связывающим точки. Нельзя ли и обратный процесс сделать. Конечно, с учетом того что мы не трогали количество граней/точек. Меняли только расположение.

    #7263
    Spirit412
    Участник

    Видать, хочу я слишком многого )

    #7330
    iROOT
    Участник

    Чтобы импортировать экспортированный SVG файл с UV разверткой необходима чтобы в нем содержалась информация о том к какой вершине привязана каждая векторная точка. Думаю это не так сложно сделать.
    Доработать аддон добавив номер вершин в экспорт
    Blender\2.7x\scripts\addons\io_mesh_uv_layout\__init__.py
    Blender\2.7x\scripts\addons\io_mesh_uv_layout\export_uv_svg.py

    Вот пример переделанной функции аддона импорта/экспорта STL под формат одной игры с добавлением UV развертки (привел одну функцию):

    def create_and_link_mesh(name, faces, points, uv_coords):
        """
        Create a blender mesh and object called name from a list of
        *points* and *faces* and link it in the current scene.
        """
    
        mesh = bpy.data.meshes.new(name)
        mesh.from_pydata(points, [], faces)
    
        mesh.uv_textures.new()
        uv = mesh.uv_layers[-1]
        for i in range(len(faces)):
            for j in range(3):
                uv.data[i*3 + j].uv = (uv_coords[faces[i][j]][0], 1.0 - uv_coords[faces[i][j]][1])
    
        # update mesh to allow proper display
        mesh.validate()
        mesh.update()
    
        scene = bpy.context.scene
    
        obj = bpy.data.objects.new(name, mesh)
        scene.objects.link(obj)
        scene.objects.active = obj
        obj.select = True
    #7373
    Spirit412
    Участник

    Попробую по экспериментировать. Спасибо

Просмотр 6 сообщений - с 1 по 6 (из 6 всего)
  • Форум «Python и дополнения» закрыт для новых тем и ответов.

О сайте

На данном сайте Вы сможете найти множество уроков и материалов по графическому
редактору Blender.

Контакты

Для связи с администрацией сайта Вы можете воспользоваться следующими контактами:

Email:
info@blender3d.com.ua

Следите за нами

Подписывайтесь на наши страницы в социальных сетях.

На сайте Blender3D собрано огромное количество уроков по программе трехмерного моделирования Blender. Обучающие материалы представлены как в формате видеоуроков, так и в текстовом виде. Здесь затронуты все аспекты, связанные с Blender, начиная от моделирования и заканчивая созданием игр с применением языка программирования Python.

Помимо уроков по Blender, Вы сможете найти готовые 3D-модели, материалы и архивы высококачественных текстур. Сайт регулярно пополняется новым контентом и следит за развитием Blender.