у меня "вопрос", допустим есть у меня модель, и блендер сам сгенрил для нее сглаживающие нормали, так вот:
Sokal
> то-то вообще использует на каждый треугольник три своих уникальных нормали или все юзают одну нормаль на одну вершину
Все юзают одну нормаль на одну вершину, участвующую в треугольниках в одной группе сглаживания.
Уникальные нормали в каждом треугольнике автоматически получаются, если модель гранёная (flat shading).
Гладкие модели жрут меньше ресурсов. Банально меньше уникальных вершин.
> как редактировать нормали? не могу найти ничего по этому поводу
Тут смотря что понимать под редактированием.
Блендер позволяет только флипнуть (изменить на противоположную) нормаль фейса, или скопом пересчитать нормали для выделенных фейсов внутрь модели или наружу.
Нет никакой возможности "чуток наклонить" нормаль в сторону.
RPGman
> Все юзают одну нормаль на одну вершину, участвующую в треугольниках в одной
> группе сглаживания.
т.е. может быть больше одной нормали на вершину если треугольники принадлежат к разным группам сглаживания? или все таки для игр всегда одна нормаль? я просто сам не моделлер потому задаю глупые вопросы :)
Sokal
> т.е. может быть больше одной нормали на вершину если треугольники принадлежат к разным группам сглаживания?
Может. Только физически это получаются разные вершины.
> или все таки для игр всегда одна нормаль?
Всегда. Там, где ты видишь острую грань в блендере, в экспорт идут несколько вершин. Даже если ты вершинку потягал, и видишь, что она в блендере одна. Видухи не умеют по-другому.
Всем привет. Такая проблема. Модель в x формате. Всего 370 полигонов. При попытке импортировать в блендер в консоли пишет:
Compiled with Python version 2.6.2. Checking for installed Python... got it! importing into Blender ... Traceback (most recent call last): File "G:\Documents and Settings\Admin\Application Data\Blender Foundation\Blen der\.blender\scripts\DirectX8Importer.py", line 229, in my_callback ximport.Import() File "G:\Documents and Settings\Admin\Application Data\Blender Foundation\Blen der\.blender\scripts\DirectX8Importer.py", line 63, in Import self.loadMaterials(j, mat_list, tex_list) File "G:\Documents and Settings\Admin\Application Data\Blender Foundation\Blen der\.blender\scripts\DirectX8Importer.py", line 189, in loadMaterials mat.rgbCol = [float(words[0]),float(words[1]),float(words[2])] IndexError: list index out of range
В DeepExplorer, MeshView, IrrEdit модель прекрасно грузится, но там я не могу ее отредактировать. Буквально нужно удалить 4 полигона, а Блендер вот выдает вышеприведенный текст при попытке импорта...
Digan
а блендер то какой? версия
Digan
Также поможет приложенный файл модели.
Версия блендера 2.49. Файл модели: http://ifolder.ru/17547331
Digan
Тут две проблемы.
Первая - у скрипта импорта странный парсер. Он оперирует только строками, и ожидает, что открывающая скобка всегда находится в той же строке, что и какой-нибудь тег.
Т.е. вот это валидно для него:
Material Name { // xxxxx }
А вот такой маленький финт:
Material Name { // xxxxx }
И всё, приехали. Скрипт ожидает, что данные уже начнутся в следующей строке после тега Material.
В твоей сцене как-раз такое случается с материалом OC_F_WASSER.
Вторая проблема - количество одновременно используемых материалов в одном меше. Блендер 2.49 ограничивает список 16-ю материалами на меш.
Либо режь сцену на отдельные объекты, либо думай как еще уменьшить кол-во материалов на одном меше.
Минимально исправленный .x: spacer_checklist_indoor_2.rar
Спасибо за подсказку. Кстати загружая исправленную тобой модель в приложение текстуры загружаются, но не отображаются почему-то... И в Блендере доступен только объектный режим -не могу отредактировать.
А если вручную удалять материалы из модели достаточно удалить нужные строки: Material Name { } ?
А то если так удаляю материалы и их меньше 16 то ошибка скрипта все равно возникает, только другая.
Digan
> текстуры загружаются, но не отображаются почему-то...
Текстуры, отображаемые во вьюпорте, берутся не из материала, а из назначенной в UV/Image editor.
>И в Блендере доступен только объектный режим -не могу отредактировать
Ты не выделил модель. Кликни правой кнопкой.
После импорта она только кажется выделенной, но цвет не тот.
> А если вручную удалять материалы из модели достаточно удалить нужные строки: Material Name { } ?
Тогда исправляй еще и индексы в MeshMaterialList секции. Заменяй индекс удаленного материала на индекс одного из оставленных.
> А то если так удаляю материалы и их меньше 16 то ошибка скрипта все равно
> возникает, только другая.
Индексы в MeshMaterialList ссылаются на удаленные материалы. См. предыдущий абзац.
Возникла задача по экспорту модели из Blendera (быстро и удобно моделить) в ANSYS 12.1, однако я не нашел подходящие форматы (по-видимому, CAD и art-программы в разных вселенных обитают). Собственно вопрос: как это сделать с меньшими затратами? Или порекомендуйте статьи по написанию экспорт-плагина для blendera.
В скриптах экспорта есть строчка
import struct
Блендер на неё жалуется и, собственно, код выполнять не хочет.
Что это за struct и как его получить в сцене?
fixbag
> Что это за struct и как его получить в сцене?
struct не принадлежит непосредственно блендеру.
Это стандартный питоновый модуль, занимается упаковкой/распаковкой бинарных данных из/в переменные питона. Подробности тут: http://docs.python.org/library/struct.html
Если на него ругается, то проверь инсталляцию питона, нет ли конфликтующих копий питона, и т.д.
У меня не был установлен питон...
Установил. Каким образом теперь связать его и блендер?
Тема в архиве.